GNUnet 0.21.1
GSC_Client Struct Reference

Data structure for each client connected to the CORE service. More...

Collaboration diagram for GSC_Client:
[legend]

Data Fields

struct GSC_Clientnext
 Clients are kept in a linked list. More...
 
struct GSC_Clientprev
 Clients are kept in a linked list. More...
 
struct GNUNET_SERVICE_Clientclient
 Handle for the client with the server API. More...
 
struct GNUNET_MQ_Handlemq
 Message queue to talk to client. More...
 
uint16_t * types
 Array of the types of messages this peer cares about (with tcnt entries). More...
 
struct GNUNET_CONTAINER_MultiPeerMaprequests
 Map of peer identities to active transmission requests of this client to the peer (of type struct GSC_ClientActiveRequest). More...
 
struct GNUNET_CONTAINER_MultiPeerMapconnectmap
 Map containing all peers that this client knows we're connected to. More...
 
uint32_t options
 Options for messages this client cares about, see GNUNET_CORE_OPTION_ values. More...
 
int got_init
 Have we gotten the GNUNET_MESSAGE_TYPE_CORE_INIT message from this client already? More...
 
unsigned int tcnt
 Number of types of incoming messages this client specifically cares about. More...
 

Detailed Description

Data structure for each client connected to the CORE service.

Definition at line 54 of file gnunet-service-core.c.

Field Documentation

◆ next

struct GSC_Client* GSC_Client::next

Clients are kept in a linked list.

Definition at line 59 of file gnunet-service-core.c.

Referenced by client_disconnect_cb(), GSC_CLIENTS_deliver_message(), and GSC_CLIENTS_notify_clients_about_neighbour().

◆ prev

struct GSC_Client* GSC_Client::prev

Clients are kept in a linked list.

Definition at line 64 of file gnunet-service-core.c.

◆ client

◆ mq

◆ types

uint16_t* GSC_Client::types

Array of the types of messages this peer cares about (with tcnt entries).

Allocated as part of this client struct, do not free!

Definition at line 81 of file gnunet-service-core.c.

Referenced by client_disconnect_cb(), GSC_CLIENTS_notify_client_about_neighbour(), handle_client_init(), and type_match().

◆ requests

struct GNUNET_CONTAINER_MultiPeerMap* GSC_Client::requests

Map of peer identities to active transmission requests of this client to the peer (of type struct GSC_ClientActiveRequest).

Definition at line 87 of file gnunet-service-core.c.

Referenced by client_disconnect_cb(), destroy_active_client_request(), GSC_CLIENTS_reject_request(), handle_client_send(), and handle_client_send_request().

◆ connectmap

struct GNUNET_CONTAINER_MultiPeerMap* GSC_Client::connectmap

Map containing all peers that this client knows we're connected to.

Definition at line 92 of file gnunet-service-core.c.

Referenced by client_connect_cb(), client_disconnect_cb(), GSC_CLIENTS_notify_client_about_neighbour(), GSC_CLIENTS_solicit_request(), handle_client_init(), and handle_client_send_request().

◆ options

◆ got_init

int GSC_Client::got_init

Have we gotten the GNUNET_MESSAGE_TYPE_CORE_INIT message from this client already?

Definition at line 104 of file gnunet-service-core.c.

Referenced by GSC_CLIENTS_notify_client_about_neighbour(), and handle_client_init().

◆ tcnt

unsigned int GSC_Client::tcnt

Number of types of incoming messages this client specifically cares about.

Size of the types array.

Definition at line 110 of file gnunet-service-core.c.

Referenced by client_disconnect_cb(), GSC_CLIENTS_notify_client_about_neighbour(), handle_client_init(), and type_match().


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