Info needed to retry a message in case it gets lost. More...
Data Fields | |
struct CadetReliableMessage * | next |
Double linked list, FIFO style. More... | |
struct CadetReliableMessage * | prev |
Double linked list, FIFO style. More... | |
struct CadetChannel * | ch |
Which channel is this message in? More... | |
struct CadetTunnelQueueEntry * | qe |
Entry in the tunnels queue for this message, NULL if it has left the tunnel. More... | |
struct GNUNET_CADET_ChannelAppDataMessage * | data_message |
Data message we are trying to send. More... | |
struct GNUNET_TIME_Absolute | next_retry |
How soon should we retry if we fail to get an ACK? Messages in the queue are sorted by this value. More... | |
struct GNUNET_TIME_Relative | retry_delay |
How long do we wait for an ACK after transmission? Use for the back-off calculation. More... | |
struct GNUNET_TIME_Absolute | first_transmission_time |
Time when we first successfully transmitted the message (that is, set num_transmissions to 1). More... | |
struct GNUNET_CADET_ConnectionTunnelIdentifier | connection_taken |
Identifier of the connection that this message took when it was first transmitted. More... | |
int | num_transmissions |
How often was this message transmitted? GNUNET_SYSERR if there was an error transmitting the message, GNUNET_NO if it was not yet transmitted ever, otherwise the number of (re) transmissions. More... | |
Info needed to retry a message in case it gets lost.
Note that we DO use this structure also for unreliable messages.
Definition at line 111 of file gnunet-service-cadet_channel.c.
struct CadetReliableMessage* CadetReliableMessage::next |
Double linked list, FIFO style.
Definition at line 116 of file gnunet-service-cadet_channel.c.
Referenced by GCCH_handle_channel_plaintext_data_ack().
struct CadetReliableMessage* CadetReliableMessage::prev |
Double linked list, FIFO style.
Definition at line 121 of file gnunet-service-cadet_channel.c.
struct CadetChannel* CadetReliableMessage::ch |
Which channel is this message in?
Definition at line 126 of file gnunet-service-cadet_channel.c.
Referenced by channel_destroy(), data_sent_cb(), and GCCH_handle_local_data().
struct CadetTunnelQueueEntry* CadetReliableMessage::qe |
Entry in the tunnels queue for this message, NULL if it has left the tunnel.
Used to cancel transmission in case we receive an ACK in time.
Definition at line 133 of file gnunet-service-cadet_channel.c.
Referenced by channel_destroy(), data_sent_cb(), GCCH_handle_local_data(), handle_matching_ack(), and retry_transmission().
struct GNUNET_CADET_ChannelAppDataMessage* CadetReliableMessage::data_message |
Data message we are trying to send.
Definition at line 138 of file gnunet-service-cadet_channel.c.
Referenced by channel_destroy(), data_sent_cb(), GCCH_handle_channel_plaintext_data_ack(), GCCH_handle_local_data(), handle_matching_ack(), and retry_transmission().
struct GNUNET_TIME_Absolute CadetReliableMessage::next_retry |
How soon should we retry if we fail to get an ACK? Messages in the queue are sorted by this value.
Definition at line 144 of file gnunet-service-cadet_channel.c.
Referenced by cmp_crm_by_next_retry(), and data_sent_cb().
struct GNUNET_TIME_Relative CadetReliableMessage::retry_delay |
How long do we wait for an ACK after transmission? Use for the back-off calculation.
Definition at line 150 of file gnunet-service-cadet_channel.c.
Referenced by data_sent_cb().
struct GNUNET_TIME_Absolute CadetReliableMessage::first_transmission_time |
Time when we first successfully transmitted the message (that is, set num_transmissions to 1).
Definition at line 156 of file gnunet-service-cadet_channel.c.
Referenced by data_sent_cb(), and handle_matching_ack().
struct GNUNET_CADET_ConnectionTunnelIdentifier CadetReliableMessage::connection_taken |
Identifier of the connection that this message took when it was first transmitted.
Only useful if num_transmissions is 1.
Definition at line 162 of file gnunet-service-cadet_channel.c.
Referenced by data_sent_cb(), and handle_matching_ack().
int CadetReliableMessage::num_transmissions |
How often was this message transmitted? GNUNET_SYSERR if there was an error transmitting the message, GNUNET_NO if it was not yet transmitted ever, otherwise the number of (re) transmissions.
Definition at line 169 of file gnunet-service-cadet_channel.c.
Referenced by data_sent_cb(), and handle_matching_ack().