Struct containing all information regarding a channel to a remote client. More...
Data Fields | |
| struct CadetTunnel * | t |
| Tunnel this channel is in. | |
| struct CadetChannelClient * | owner |
| Client owner of the tunnel, if any. | |
| struct CadetChannelClient * | dest |
| Client destination of the tunnel, if any. | |
| struct CadetTunnelQueueEntry * | 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). | |
| struct CadetReliableMessage * | head_sent |
| Head of DLL of messages sent and not yet ACK'd. | |
| struct CadetReliableMessage * | tail_sent |
| Tail of DLL of messages sent and not yet ACK'd. | |
| struct GNUNET_SCHEDULER_Task * | retry_control_task |
| Task to resend/poll in case no ACK is received. | |
| struct GNUNET_SCHEDULER_Task * | retry_data_task |
| Task to resend/poll in case no ACK is received. | |
| struct GNUNET_TIME_Absolute | timestamp |
| Last time the channel was used. | |
| struct GNUNET_HashCode | port |
| Destination port of the channel. | |
| struct GNUNET_HashCode | h_port |
| Hash'ed port of the channel with initiator and destination PID. | |
| struct GNUNET_TIME_Relative | retry_time |
| Counter for exponential backoff. | |
| uint64_t | mid_futures |
| Bitfield of already-received messages past mid_recv. | |
| struct ChannelMessageIdentifier | mid_recv |
| Next MID expected for incoming traffic. | |
| struct ChannelMessageIdentifier | mid_send |
| Next MID to use for outgoing traffic. | |
| unsigned int | pending_messages |
| Total (reliable) messages pending ACK for this channel. | |
| unsigned int | max_pending_messages |
| Maximum (reliable) messages pending ACK for this channel before we throttle the client. | |
| struct GNUNET_CADET_ChannelTunnelNumber | ctn |
| Number identifying this channel in its tunnel. | |
| enum CadetChannelState | state |
| Channel state. | |
| unsigned int | skip_ack_series |
| Count how many ACKs we skipped, used to prevent long sequences of ACK skipping. | |
| int | nobuffer |
| Is the tunnel bufferless (minimum latency)? | |
| int | reliable |
| Is the tunnel reliable? | |
| int | out_of_order |
| Is the tunnel out-of-order? | |
| int | is_loopback |
| Is this channel a loopback channel, where the destination is us again? | |
| int | destroy |
| Flag to signal the destruction of the channel. | |
| uint16_t | type |
| Type of message to be dropped. | |
Struct containing all information regarding a channel to a remote client.
Definition at line 248 of file gnunet-service-cadet_channel.c.
| struct CadetTunnel* CadetChannel::t |
Tunnel this channel is in.
Definition at line 253 of file gnunet-service-cadet_channel.c.
| struct CadetChannelClient* CadetChannel::owner |
Client owner of the tunnel, if any.
(Used if this channel represents the initiating end of the tunnel.)
Definition at line 259 of file gnunet-service-cadet_channel.c.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| struct GNUNET_TIME_Absolute CadetChannel::timestamp |
Last time the channel was used.
Definition at line 298 of file gnunet-service-cadet_channel.c.
| struct GNUNET_HashCode CadetChannel::port |
Destination port of the channel.
Definition at line 303 of file gnunet-service-cadet_channel.c.
| 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.
| struct GNUNET_TIME_Relative CadetChannel::retry_time |
Counter for exponential backoff.
Definition at line 313 of file gnunet-service-cadet_channel.c.
| uint64_t CadetChannel::mid_futures |
Bitfield of already-received messages past mid_recv.
Definition at line 318 of file gnunet-service-cadet_channel.c.
| struct ChannelMessageIdentifier CadetChannel::mid_recv |
Next MID expected for incoming traffic.
Definition at line 323 of file gnunet-service-cadet_channel.c.
| struct ChannelMessageIdentifier CadetChannel::mid_send |
Next MID to use for outgoing traffic.
Definition at line 328 of file gnunet-service-cadet_channel.c.
| unsigned int CadetChannel::pending_messages |
Total (reliable) messages pending ACK for this channel.
Definition at line 333 of file gnunet-service-cadet_channel.c.
| 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.
| 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().
| enum CadetChannelState CadetChannel::state |
Channel state.
Definition at line 349 of file gnunet-service-cadet_channel.c.
| 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.
| int CadetChannel::nobuffer |
Is the tunnel bufferless (minimum latency)?
Definition at line 360 of file gnunet-service-cadet_channel.c.
| int CadetChannel::reliable |
Is the tunnel reliable?
Definition at line 365 of file gnunet-service-cadet_channel.c.
| int CadetChannel::out_of_order |
Is the tunnel out-of-order?
Definition at line 370 of file gnunet-service-cadet_channel.c.
| 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.
| 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.
| uint16_t CadetChannel::type |
Type of message to be dropped.
See GCT_send.
Definition at line 387 of file gnunet-service-cadet_channel.c.