Information we keep for a message that we are reassembling. More...
Data Fields | |
struct MessageUUIDP | msg_uuid |
Original message ID for of the message that all the fragments belong to. More... | |
struct VirtualLink * | virtual_link |
Which neighbour is this context for? More... | |
struct GNUNET_CONTAINER_HeapNode * | hn |
Entry in the reassembly heap (sorted by expiration). More... | |
uint8_t * | bitfield |
Bitfield with msg_size bits representing the positions where we have received fragments. More... | |
struct GNUNET_TIME_Absolute | reassembly_timeout |
At what time will we give up reassembly of this message? More... | |
struct GNUNET_TIME_Absolute | last_frag |
Time we received the last fragment. More... | |
uint16_t | msg_size |
How big is the message we are reassembling in total? More... | |
uint16_t | msg_missing |
How many bytes of the message are still missing? Defragmentation is complete when msg_missing == 0. More... | |
Information we keep for a message that we are reassembling.
Definition at line 1301 of file gnunet-service-transport.c.
struct MessageUUIDP ReassemblyContext::msg_uuid |
Original message ID for of the message that all the fragments belong to.
Definition at line 1307 of file gnunet-service-transport.c.
Referenced by find_by_message_uuid(), free_reassembly_context(), and handle_fragment_box().
struct VirtualLink* ReassemblyContext::virtual_link |
Which neighbour is this context for?
Definition at line 1312 of file gnunet-service-transport.c.
Referenced by free_reassembly_context(), and handle_fragment_box().
struct GNUNET_CONTAINER_HeapNode* ReassemblyContext::hn |
Entry in the reassembly heap (sorted by expiration).
Definition at line 1317 of file gnunet-service-transport.c.
Referenced by free_reassembly_context(), and handle_fragment_box().
uint8_t* ReassemblyContext::bitfield |
Bitfield with msg_size bits representing the positions where we have received fragments.
When we receive a fragment, we check the bits in bitfield before incrementing msg_missing.
Allocated after the reassembled message.
Definition at line 1326 of file gnunet-service-transport.c.
Referenced by handle_fragment_box().
struct GNUNET_TIME_Absolute ReassemblyContext::reassembly_timeout |
At what time will we give up reassembly of this message?
Definition at line 1331 of file gnunet-service-transport.c.
Referenced by handle_fragment_box(), and reassembly_cleanup_task().
struct GNUNET_TIME_Absolute ReassemblyContext::last_frag |
Time we received the last fragment.
avg_ack_delay must be incremented by now - last_frag multiplied by num_acks.
Definition at line 1337 of file gnunet-service-transport.c.
Referenced by handle_fragment_box().
uint16_t ReassemblyContext::msg_size |
How big is the message we are reassembling in total?
Definition at line 1342 of file gnunet-service-transport.c.
Referenced by handle_fragment_box().
uint16_t ReassemblyContext::msg_missing |
How many bytes of the message are still missing? Defragmentation is complete when msg_missing == 0.
Definition at line 1348 of file gnunet-service-transport.c.
Referenced by handle_fragment_box().