GNUnet 0.21.1
CadetChannel Struct Reference

Struct containing all information regarding a channel to a remote client. More...

Collaboration diagram for CadetChannel:
[legend]

Data Fields

struct CadetTunnelt
 Tunnel this channel is in. More...
 
struct CadetChannelClientowner
 Client owner of the tunnel, if any. More...
 
struct CadetChannelClientdest
 Client destination of the tunnel, if any. More...
 
struct CadetTunnelQueueEntrylast_control_qe
 Last entry in the tunnel's queue relating to control messages (GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN or GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_ACK). More...
 
struct CadetReliableMessagehead_sent
 Head of DLL of messages sent and not yet ACK'd. More...
 
struct CadetReliableMessagetail_sent
 Tail of DLL of messages sent and not yet ACK'd. More...
 
struct GNUNET_SCHEDULER_Taskretry_control_task
 Task to resend/poll in case no ACK is received. More...
 
struct GNUNET_SCHEDULER_Taskretry_data_task
 Task to resend/poll in case no ACK is received. More...
 
struct GNUNET_TIME_Absolute timestamp
 Last time the channel was used. More...
 
struct GNUNET_HashCode port
 Destination port of the channel. More...
 
struct GNUNET_HashCode h_port
 Hash'ed port of the channel with initiator and destination PID. More...
 
struct GNUNET_TIME_Relative retry_time
 Counter for exponential backoff. More...
 
uint64_t mid_futures
 Bitfield of already-received messages past mid_recv. More...
 
struct ChannelMessageIdentifier mid_recv
 Next MID expected for incoming traffic. More...
 
struct ChannelMessageIdentifier mid_send
 Next MID to use for outgoing traffic. More...
 
unsigned int pending_messages
 Total (reliable) messages pending ACK for this channel. More...
 
unsigned int max_pending_messages
 Maximum (reliable) messages pending ACK for this channel before we throttle the client. More...
 
struct GNUNET_CADET_ChannelTunnelNumber ctn
 Number identifying this channel in its tunnel. More...
 
enum CadetChannelState state
 Channel state. More...
 
unsigned int skip_ack_series
 Count how many ACKs we skipped, used to prevent long sequences of ACK skipping. More...
 
int nobuffer
 Is the tunnel bufferless (minimum latency)? More...
 
int reliable
 Is the tunnel reliable? More...
 
int out_of_order
 Is the tunnel out-of-order? More...
 
int is_loopback
 Is this channel a loopback channel, where the destination is us again? More...
 
int destroy
 Flag to signal the destruction of the channel. More...
 
uint16_t type
 Type of message to be dropped. More...
 

Detailed Description

Struct containing all information regarding a channel to a remote client.

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

Field Documentation

◆ t

struct CadetTunnel* CadetChannel::t

Tunnel this channel is in.

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

◆ owner

struct CadetChannelClient* CadetChannel::owner

Client owner of the tunnel, if any.

(Used if this channel represends the initiating end of the tunnel.)

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

◆ dest

struct CadetChannelClient* CadetChannel::dest

Client destination of the tunnel, if any.

(Used if this channel represents the listening end of the tunnel.)

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

Referenced by typescriptdomain.MyPygmentsBridge::__init__().

◆ last_control_qe

struct CadetTunnelQueueEntry* CadetChannel::last_control_qe

Last entry in the tunnel's queue relating to control messages (GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN or GNUNET_MESSAGE_TYPE_CADET_CHANNEL_OPEN_ACK).

Used to cancel transmission in case we receive updated information.

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

◆ head_sent

struct CadetReliableMessage* CadetChannel::head_sent

Head of DLL of messages sent and not yet ACK'd.

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

◆ tail_sent

struct CadetReliableMessage* CadetChannel::tail_sent

Tail of DLL of messages sent and not yet ACK'd.

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

◆ retry_control_task

struct GNUNET_SCHEDULER_Task* CadetChannel::retry_control_task

Task to resend/poll in case no ACK is received.

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

◆ retry_data_task

struct GNUNET_SCHEDULER_Task* CadetChannel::retry_data_task

Task to resend/poll in case no ACK is received.

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

◆ timestamp

struct GNUNET_TIME_Absolute CadetChannel::timestamp

Last time the channel was used.

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

◆ port

struct GNUNET_HashCode CadetChannel::port

Destination port of the channel.

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

◆ h_port

struct GNUNET_HashCode CadetChannel::h_port

Hash'ed port of the channel with initiator and destination PID.

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

◆ retry_time

struct GNUNET_TIME_Relative CadetChannel::retry_time

Counter for exponential backoff.

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

◆ mid_futures

uint64_t CadetChannel::mid_futures

Bitfield of already-received messages past mid_recv.

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

◆ mid_recv

struct ChannelMessageIdentifier CadetChannel::mid_recv

Next MID expected for incoming traffic.

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

◆ mid_send

struct ChannelMessageIdentifier CadetChannel::mid_send

Next MID to use for outgoing traffic.

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

◆ pending_messages

unsigned int CadetChannel::pending_messages

Total (reliable) messages pending ACK for this channel.

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

◆ max_pending_messages

unsigned int CadetChannel::max_pending_messages

Maximum (reliable) messages pending ACK for this channel before we throttle the client.

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

◆ ctn

struct GNUNET_CADET_ChannelTunnelNumber CadetChannel::ctn

Number identifying this channel in its tunnel.

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

Referenced by GCT_send(), and lookup_channel().

◆ state

◆ skip_ack_series

unsigned int CadetChannel::skip_ack_series

Count how many ACKs we skipped, used to prevent long sequences of ACK skipping.

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

◆ nobuffer

int CadetChannel::nobuffer

Is the tunnel bufferless (minimum latency)?

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

◆ reliable

int CadetChannel::reliable

Is the tunnel reliable?

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

◆ out_of_order

int CadetChannel::out_of_order

Is the tunnel out-of-order?

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

◆ is_loopback

int CadetChannel::is_loopback

Is this channel a loopback channel, where the destination is us again?

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

◆ destroy

int CadetChannel::destroy

Flag to signal the destruction of the channel.

If this is set to GNUNET_YES the channel will be destroyed once the queue is empty.

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

◆ type

uint16_t CadetChannel::type

Type of message to be dropped.

See GCT_send.

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


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