GNUnet debian-0.24.3-29-g453fda2cf
 
Loading...
Searching...
No Matches
Connection Struct Reference

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

Collaboration diagram for Connection:
[legend]

Data Fields

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

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: