![]() |
GNUnet
0.11.x
|
Fragmentation context. More...
Data Fields | |
struct GNUNET_STATISTICS_Handle * | stats |
Statistics to use. More... | |
struct GNUNET_BANDWIDTH_Tracker * | tracker |
Tracker for flow control. More... | |
struct GNUNET_TIME_Relative | ack_delay |
Current expected delay for ACKs. More... | |
struct GNUNET_TIME_Relative | msg_delay |
Current expected delay between messages. More... | |
struct GNUNET_TIME_Absolute | delay_until |
Next allowed transmission time. More... | |
struct GNUNET_TIME_Absolute | last_round |
Time we transmitted the last message of the last round. More... | |
const struct GNUNET_MessageHeader * | msg |
Message to fragment (allocated at the end of this struct). More... | |
GNUNET_FRAGMENT_MessageProcessor | proc |
Function to call for transmissions. More... | |
void * | proc_cls |
Closure for proc. More... | |
uint64_t | acks |
Bitfield, set to 1 for each unacknowledged fragment. More... | |
uint64_t | acks_mask |
Bitfield with all possible bits for acks (used to mask the ack we get back). More... | |
struct GNUNET_SCHEDULER_Task * | task |
Task performing work for the fragmenter. More... | |
uint32_t | fragment_id |
Our fragmentation ID. More... | |
unsigned int | next_transmission |
Round-robin selector for the next transmission. More... | |
unsigned int | num_rounds |
How many rounds of transmission have we completed so far? More... | |
unsigned int | num_transmissions |
How many transmission have we completed in this round? More... | |
int8_t | proc_busy |
GNUNET_YES if we called proc and are now waiting for GNUNET_FRAGMENT_context_transmission_done() More... | |
int8_t | wack |
GNUNET_YES if we are waiting for an ACK. More... | |
uint16_t | mtu |
Target fragment size. More... | |
Fragmentation context.
Definition at line 41 of file fragmentation.c.
struct GNUNET_STATISTICS_Handle* GNUNET_FRAGMENT_Context::stats |
Statistics to use.
Definition at line 46 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
struct GNUNET_BANDWIDTH_Tracker* GNUNET_FRAGMENT_Context::tracker |
Tracker for flow control.
Definition at line 51 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), and transmit_next().
struct GNUNET_TIME_Relative GNUNET_FRAGMENT_Context::ack_delay |
Current expected delay for ACKs.
Definition at line 56 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), GNUNET_FRAGMENT_context_destroy(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
struct GNUNET_TIME_Relative GNUNET_FRAGMENT_Context::msg_delay |
Current expected delay between messages.
Definition at line 61 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), GNUNET_FRAGMENT_context_destroy(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
struct GNUNET_TIME_Absolute GNUNET_FRAGMENT_Context::delay_until |
Next allowed transmission time.
Definition at line 66 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_transmission_done(), and transmit_next().
struct GNUNET_TIME_Absolute GNUNET_FRAGMENT_Context::last_round |
Time we transmitted the last message of the last round.
Definition at line 71 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_process_ack(), and transmit_next().
const struct GNUNET_MessageHeader* GNUNET_FRAGMENT_Context::msg |
Message to fragment (allocated at the end of this struct).
Definition at line 76 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), and transmit_next().
GNUNET_FRAGMENT_MessageProcessor GNUNET_FRAGMENT_Context::proc |
Function to call for transmissions.
Definition at line 81 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), and transmit_next().
void* GNUNET_FRAGMENT_Context::proc_cls |
Closure for proc.
Definition at line 86 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), and transmit_next().
uint64_t GNUNET_FRAGMENT_Context::acks |
Bitfield, set to 1 for each unacknowledged fragment.
Definition at line 91 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
uint64_t GNUNET_FRAGMENT_Context::acks_mask |
Bitfield with all possible bits for acks (used to mask the ack we get back).
Definition at line 97 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), and GNUNET_FRAGMENT_process_ack().
struct GNUNET_SCHEDULER_Task* GNUNET_FRAGMENT_Context::task |
Task performing work for the fragmenter.
Definition at line 102 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), GNUNET_FRAGMENT_context_destroy(), GNUNET_FRAGMENT_context_transmission_done(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
uint32_t GNUNET_FRAGMENT_Context::fragment_id |
Our fragmentation ID.
(chosen at random)
Definition at line 107 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
unsigned int GNUNET_FRAGMENT_Context::next_transmission |
Round-robin selector for the next transmission.
Definition at line 112 of file fragmentation.c.
Referenced by transmit_next().
unsigned int GNUNET_FRAGMENT_Context::num_rounds |
How many rounds of transmission have we completed so far?
Definition at line 117 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_destroy(), and transmit_next().
unsigned int GNUNET_FRAGMENT_Context::num_transmissions |
How many transmission have we completed in this round?
Definition at line 122 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_process_ack(), and transmit_next().
int8_t GNUNET_FRAGMENT_Context::proc_busy |
GNUNET_YES if we called proc and are now waiting for GNUNET_FRAGMENT_context_transmission_done()
Definition at line 127 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_transmission_done(), GNUNET_FRAGMENT_process_ack(), and transmit_next().
int8_t GNUNET_FRAGMENT_Context::wack |
GNUNET_YES if we are waiting for an ACK.
Definition at line 132 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_process_ack(), and transmit_next().
uint16_t GNUNET_FRAGMENT_Context::mtu |
Target fragment size.
Definition at line 137 of file fragmentation.c.
Referenced by GNUNET_FRAGMENT_context_create(), and transmit_next().