GNUnet 0.21.1
CadetReliableMessage Struct Reference

Info needed to retry a message in case it gets lost. More...

Collaboration diagram for CadetReliableMessage:
[legend]

Data Fields

struct CadetReliableMessagenext
 Double linked list, FIFO style. More...
 
struct CadetReliableMessageprev
 Double linked list, FIFO style. More...
 
struct CadetChannelch
 Which channel is this message in? More...
 
struct CadetTunnelQueueEntryqe
 Entry in the tunnels queue for this message, NULL if it has left the tunnel. More...
 
struct GNUNET_CADET_ChannelAppDataMessagedata_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...
 

Detailed Description

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.

Field Documentation

◆ next

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().

◆ prev

struct CadetReliableMessage* CadetReliableMessage::prev

Double linked list, FIFO style.

Definition at line 121 of file gnunet-service-cadet_channel.c.

◆ ch

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().

◆ qe

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().

◆ data_message

struct GNUNET_CADET_ChannelAppDataMessage* CadetReliableMessage::data_message

◆ next_retry

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().

◆ retry_delay

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().

◆ first_transmission_time

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().

◆ connection_taken

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().

◆ num_transmissions

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().


The documentation for this struct was generated from the following file: