Data structure for each client connected to the CORE service. More...
Data Fields | |
struct GSC_Client * | next |
Clients are kept in a linked list. More... | |
struct GSC_Client * | prev |
Clients are kept in a linked list. More... | |
struct GNUNET_SERVICE_Client * | client |
Handle for the client with the server API. More... | |
struct GNUNET_MQ_Handle * | mq |
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_MultiPeerMap * | requests |
Map of peer identities to active transmission requests of this client to the peer (of type struct GSC_ClientActiveRequest ). More... | |
struct GNUNET_CONTAINER_MultiPeerMap * | connectmap |
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... | |
Data structure for each client connected to the CORE service.
Definition at line 54 of file gnunet-service-core.c.
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().
struct GSC_Client* GSC_Client::prev |
Clients are kept in a linked list.
Definition at line 64 of file gnunet-service-core.c.
struct GNUNET_SERVICE_Client* GSC_Client::client |
Handle for the client with the server API.
Definition at line 69 of file gnunet-service-core.c.
Referenced by client_connect_cb(), client_disconnect_cb(), GSC_CLIENTS_reject_request(), handle_client_init(), handle_client_monitor_peers(), handle_client_send(), handle_client_send_request(), notify_client_about_session(), and shutdown_task().
struct GNUNET_MQ_Handle* GSC_Client::mq |
Message queue to talk to client.
Definition at line 74 of file gnunet-service-core.c.
Referenced by client_connect_cb(), GSC_CLIENTS_notify_client_about_neighbour(), GSC_CLIENTS_solicit_request(), handle_client_init(), and handle_client_monitor_peers().
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().
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().
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().
uint32_t GSC_Client::options |
Options for messages this client cares about, see GNUNET_CORE_OPTION_ values.
Definition at line 98 of file gnunet-service-core.c.
Referenced by httpdomain.httpdomain.HTTPResource::add_target_and_index(), httpdomain.autohttp.flask_base.AutoflaskBase::blueprints(), client_disconnect_cb(), httpdomain.autohttp.bottle.AutobottleDirective::endpoints(), httpdomain.autohttp.flask_base.AutoflaskBase::endpoints(), httpdomain.autohttp.tornado.AutoTornadoDirective::endpoints(), handle_client_init(), httpdomain.autohttp.bottle.AutobottleDirective::make_rst(), httpdomain.autohttp.tornado.AutoTornadoDirective::make_rst(), httpdomain.autohttp.flask_base.AutoflaskBase::make_rst(), httpdomain.autohttp.flask_base.AutoflaskBase::modules(), httpdomain.autohttp.flask_base.AutoflaskBase::order(), typescriptdomain.TypeScriptDefinition::run(), type_match(), httpdomain.autohttp.flask_base.AutoflaskBase::undoc_blueprints(), httpdomain.autohttp.bottle.AutobottleDirective::undoc_endpoints(), httpdomain.autohttp.flask_base.AutoflaskBase::undoc_endpoints(), httpdomain.autohttp.tornado.AutoTornadoDirective::undoc_endpoints(), and httpdomain.autohttp.flask_base.AutoflaskBase::undoc_modules().
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().
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().