GNUnet debian-0.24.3-24-gfea921bd2
Connection Struct Reference

Used to keep track of context of peer. More...

Collaboration diagram for Connection:
[legend]

Data Fields

struct Connectionnext
 Linked list next. More...
 
struct Connectionprev
 Linked list previous. More...
 
struct GNUNET_MQ_Handlemq
 Message queue towards the connected peer. More...
 
struct GNUNET_MQ_MessageHandlerhandlers
 Handlers for mq. More...
 
void * cls_mq
 Closure for the mq towards the client. More...
 
struct GNUNET_NETWORK_Handlesock
 Socket for the connected peer. More...
 
char * peer_addr
 Address of the connected peer. More...
 
struct GNUNET_SCHEDULER_Taskrecv_task
 Task waiting for incoming messages. More...
 
struct GNUNET_SCHEDULER_Taskwrite_task
 Task waiting until the socket becomes ready to be written to. More...
 
struct GNUNET_SCHEDULER_Tasknotify_connect_task
 Task to notify the client about an open connection. More...
 
struct GNUNET_SCHEDULER_Taskhandle_message_task
 Task to pass the message to the client's handlers. More...
 
enum GNUNET_GenericReturnValue notify_connect_called
 Whether notify_connect was called already It is used to check whether to call notify_disconnect or not. More...
 
enum GNUNET_GenericReturnValue client_ready_to_receive
 Indicating whether the client is ready to receive new messages. More...
 
enum ConnectionStatus status
 Status of the connection: Initializing, Live, Destroy. More...
 
const struct GNUNET_MessageHeadermessage_to_send
 Message about to be sent, given by the message queue, waiting for the socket to be ready. More...
 
struct QueuedMessagequeued_recv_messages_head
 Queued received messages in a DLL TODO implement cleanup TODO replace with a performant queue. More...
 
struct QueuedMessagequeued_recv_messages_tail
 
struct GNUNET_CORE_UNDERLAY_DUMMY_Handlehandle
 Handle to the service. More...
 
ngtcp2_conn * conn
 The QUIC connection. More...
 
nghttp3_conn * h3_conn
 The HTTP/3 connection. More...
 
ngtcp2_ccerr last_error
 The connection error. More...
 
ngtcp2_crypto_conn_ref conn_ref
 The structure to get a pointer to ngtcp2_conn. More...
 
gnutls_session_t session
 The gnutls session. More...
 
struct GNUNET_CONTAINER_MultiHashMapstreams
 Information of the stream. More...
 
struct sockaddr * address
 Address of the other peer. More...
 
socklen_t address_len
 Length of the address. More...
 
struct GNUNET_PeerIdentity target
 To whom are we talking to. More...
 
enum GNUNET_NetworkType nt
 Which network type does this queue use? More...
 
struct GNUNET_TIME_Absolute timeout
 Timeout for this connection. More...
 
int is_initiator
 Flag to indicate if we are the initiator of the connection. More...
 
int id_rcvd
 Flag to indicate whether we know the PeerIdentity (target) yet. More...
 
int id_sent
 Flag to indicate whether we have sent OUR PeerIdentity to this peer. More...
 
size_t d_mtu
 MTU we allowed transport for this receiver's default queue. More...
 
struct GNUNET_MQ_Handled_mq
 Default message queue we are providing for the ch. More...
 
struct GNUNET_TRANSPORT_QueueHandled_qh
 handle for default queue with the ch. More...
 
char * foreign_addr
 Address of the receiver in the human-readable format with the COMMUNICATOR_ADDRESS_PREFIX. More...
 
int connection_destroy_called
 connection_destroy already called on connection. More...
 
struct GNUNET_SCHEDULER_Tasktimer
 The timer of this connection. More...
 
uint8_t * conn_closebuf
 conn_closebuf contains a packet which contains CONNECTION_CLOSE. More...
 
ngtcp2_ssize conn_closebuflen
 The length of conn_closebuf;. More...
 
struct HTTP_Messagemsg_queue_head
 head pointer of message queue. More...
 
struct HTTP_Messagemsg_queue_rear
 rear pointer of message queue. More...
 
size_t msg_queue_len
 length of message queue. More...
 
struct HTTP_Messagesubmitted_msg_queue_head
 Messages that have been submitted will be put into this queue. More...
 
struct Long_Poll_Requestlong_poll_head
 head pointer of long polling struct queue. More...
 
struct Long_Poll_Requestlong_poll_rear
 rear pointer of long polling struct queue. More...
 
size_t long_poll_len
 length of long polling struct queue. More...
 

Detailed Description

Used to keep track of context of peer.

Information of the connection with peer.

Definition at line 126 of file gnunet_core_underlay_dummy.c.

Field Documentation

◆ conn

◆ h3_conn

◆ last_error

ngtcp2_ccerr Connection::last_error

◆ conn_ref

ngtcp2_crypto_conn_ref Connection::conn_ref

The structure to get a pointer to ngtcp2_conn.

Definition at line 277 of file gnunet-communicator-http3.c.

Referenced by client_gnutls_init(), client_quic_init(), and connection_init().

◆ session

gnutls_session_t Connection::session

The gnutls session.

Definition at line 282 of file gnunet-communicator-http3.c.

Referenced by client_gnutls_init(), client_quic_init(), connection_destroy(), connection_init(), and mq_init().

◆ streams

struct GNUNET_CONTAINER_MultiHashMap* Connection::streams

Information of the stream.

Definition at line 286 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), connection_init(), create_stream(), find_stream(), mq_init(), and remove_stream().

◆ address

struct sockaddr* Connection::address

◆ address_len

socklen_t Connection::address_len

◆ target

struct GNUNET_PeerIdentity Connection::target

To whom are we talking to.

Definition at line 301 of file gnunet-communicator-http3.c.

Referenced by http_recv_data_cb(), mq_error(), mq_init(), and setup_connection_mq().

◆ nt

enum GNUNET_NetworkType Connection::nt

Which network type does this queue use?

Definition at line 306 of file gnunet-communicator-http3.c.

Referenced by mq_init(), and setup_connection_mq().

◆ timeout

struct GNUNET_TIME_Absolute Connection::timeout

Timeout for this connection.

Definition at line 311 of file gnunet-communicator-http3.c.

Referenced by mq_init(), and reschedule_peer_timeout().

◆ is_initiator

◆ id_rcvd

int Connection::id_rcvd

Flag to indicate whether we know the PeerIdentity (target) yet.

Definition at line 321 of file gnunet-communicator-http3.c.

Referenced by connection_init(), http_recv_data_cb(), and mq_init().

◆ id_sent

int Connection::id_sent

Flag to indicate whether we have sent OUR PeerIdentity to this peer.

Definition at line 326 of file gnunet-communicator-http3.c.

Referenced by connection_init(), mq_init(), and recv_rx_key_cb().

◆ d_mtu

size_t Connection::d_mtu

MTU we allowed transport for this receiver's default queue.

Definition at line 331 of file gnunet-communicator-http3.c.

Referenced by mq_send_d(), and setup_connection_mq().

◆ d_mq

struct GNUNET_MQ_Handle* Connection::d_mq

Default message queue we are providing for the ch.

Definition at line 336 of file gnunet-communicator-http3.c.

Referenced by mq_destroy_d(), mq_send_d(), and setup_connection_mq().

◆ d_qh

struct GNUNET_TRANSPORT_QueueHandle* Connection::d_qh

handle for default queue with the ch.

Definition at line 341 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), and setup_connection_mq().

◆ foreign_addr

char* Connection::foreign_addr

Address of the receiver in the human-readable format with the COMMUNICATOR_ADDRESS_PREFIX.

Definition at line 347 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), connection_init(), mq_init(), and setup_connection_mq().

◆ connection_destroy_called

int Connection::connection_destroy_called

connection_destroy already called on connection.

Definition at line 352 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), mq_destroy_d(), and mq_send_d().

◆ timer

struct GNUNET_SCHEDULER_Task* Connection::timer

The timer of this connection.

Definition at line 357 of file gnunet-communicator-http3.c.

Referenced by close_waitcb(), connection_update_timer(), start_closing_period(), start_draining_period(), and timeoutcb().

◆ conn_closebuf

uint8_t* Connection::conn_closebuf

conn_closebuf contains a packet which contains CONNECTION_CLOSE.

Definition at line 362 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), send_conn_close(), and start_closing_period().

◆ conn_closebuflen

ngtcp2_ssize Connection::conn_closebuflen

The length of conn_closebuf;.

Definition at line 367 of file gnunet-communicator-http3.c.

Referenced by send_conn_close(), and start_closing_period().

◆ msg_queue_head

struct HTTP_Message* Connection::msg_queue_head

head pointer of message queue.

Definition at line 372 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), mq_send_d(), and stream_start_response().

◆ msg_queue_rear

struct HTTP_Message* Connection::msg_queue_rear

rear pointer of message queue.

Definition at line 377 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), and mq_send_d().

◆ msg_queue_len

size_t Connection::msg_queue_len

length of message queue.

Definition at line 382 of file gnunet-communicator-http3.c.

Referenced by mq_send_d(), and stream_start_response().

◆ submitted_msg_queue_head

struct HTTP_Message* Connection::submitted_msg_queue_head

Messages that have been submitted will be put into this queue.

Definition at line 387 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), mq_send_d(), and stream_start_response().

◆ long_poll_head

struct Long_Poll_Request* Connection::long_poll_head

head pointer of long polling struct queue.

Definition at line 392 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), http_end_stream_cb(), long_poll_timeoutcb(), mq_send_d(), recv_rx_key_cb(), and stream_start_response().

◆ long_poll_rear

struct Long_Poll_Request* Connection::long_poll_rear

rear pointer of long polling struct queue.

Definition at line 397 of file gnunet-communicator-http3.c.

Referenced by connection_destroy(), long_poll_timeoutcb(), recv_rx_key_cb(), and stream_start_response().

◆ long_poll_len

size_t Connection::long_poll_len

length of long polling struct queue.

Definition at line 402 of file gnunet-communicator-http3.c.

Referenced by mq_send_d(), and stream_start_response().


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