GNUnet  0.11.x
Data Fields
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 53 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 58 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 63 of file gnunet-service-core.c.

◆ client

struct GNUNET_SERVICE_Client* GSC_Client::client

◆ mq

struct GNUNET_MQ_Handle* GSC_Client::mq

Message queue to talk to client.

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

Referenced by client_connect_cb(), GSC_CLIENTS_notify_client_about_neighbour(), handle_client_init(), and handle_client_monitor_peers().

◆ 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 80 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 86 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 91 of file gnunet-service-core.c.

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

◆ options

uint32_t GSC_Client::options

Options for messages this client cares about, see GNUNET_CORE_OPTION_ values.

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

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

◆ got_init

int GSC_Client::got_init

Have we gotten the GNUNET_MESSAGE_TYPE_CORE_INIT message from this client already?

Definition at line 103 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 109 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: