Message used to tell a communicator about the receiver's flow control limits and to acknowledge receipt of certain messages. More...
#include </home/buildbot/bb-worker/worker/gnunet_firefly/build/src/service/transport/communicator.h>
Data Fields | |
struct GNUNET_MessageHeader | header |
Type is GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_FC_LIMITS. More... | |
uint32_t | msg_window_size |
Maximum number of messages beyond the acknowledged message number that can still be transmitted concurrently without further acknowledgements. More... | |
uint64_t | msg_cummulative_ack |
Up to which message number were all messages received. More... | |
uint64_t | bytes_window_size |
Maximum number of payload bytes beyond the acknowledged number of bytes can still be transmitted without further acknowledgements. More... | |
uint64_t | bytes_cummulative_ack |
Cumulative acknowledgement for number of bytes received. More... | |
Message used to tell a communicator about the receiver's flow control limits and to acknowledge receipt of certain messages.
Note that a sender MAY choose to violate the flow-control limits provided in this message by a receiver, which may result in messages being lost (after all, transport is an unreliable channel). So if the sender violates these constraints, it should expect that the receive will simply discard the (partially) received "old" messages.
This way, if a sender or receiver crashes, there is no protocol violation.
Note that this style of flow control typically only applies for communicators where the underlying network protocol does not already implement flow control. Furthermore, this is just the recommended "generic" style, communicators are always free to implement original designs that better fit their requirements.
Definition at line 92 of file communicator.h.
struct GNUNET_MessageHeader GNUNET_TRANSPORT_CommunicatorGenericFCLimits::header |
Type is GNUNET_MESSAGE_TYPE_TRANSPORT_COMMUNICATOR_FC_LIMITS.
Definition at line 97 of file communicator.h.
uint32_t GNUNET_TRANSPORT_CommunicatorGenericFCLimits::msg_window_size |
Maximum number of messages beyond the acknowledged message number that can still be transmitted concurrently without further acknowledgements.
Definition at line 104 of file communicator.h.
uint64_t GNUNET_TRANSPORT_CommunicatorGenericFCLimits::msg_cummulative_ack |
Up to which message number were all messages received.
Definition at line 109 of file communicator.h.
uint64_t GNUNET_TRANSPORT_CommunicatorGenericFCLimits::bytes_window_size |
Maximum number of payload bytes beyond the acknowledged number of bytes can still be transmitted without further acknowledgements.
Definition at line 116 of file communicator.h.
uint64_t GNUNET_TRANSPORT_CommunicatorGenericFCLimits::bytes_cummulative_ack |
Cumulative acknowledgement for number of bytes received.
Definition at line 121 of file communicator.h.