GNUnet  0.11.x
Data Fields
TransportClient Struct Reference

Client connected to the transport service. More...

Collaboration diagram for TransportClient:
[legend]

Data Fields

struct TransportClientnext
 Kept in a DLL. More...
 
struct TransportClientprev
 Kept in a DLL. More...
 
struct GNUNET_SERVICE_Clientclient
 Handle to the client. More...
 
struct GNUNET_MQ_Handlemq
 Message queue to the client. More...
 
enum ClientType type
 What type of client is this? More...
 
union {
   struct {
      struct PendingMessage *   pending_msg_head
 Head of list of messages pending for this client, sorted by transmission time ("next_attempt" + possibly internal prioritization). More...
 
      struct PendingMessage *   pending_msg_tail
 Tail of list of messages pending for this client. More...
 
   }   core
 Information for type CT_CORE. More...
 
   struct {
      struct GNUNET_PeerIdentity   peer
 Peer identity to monitor the addresses of. More...
 
      int   one_shot
 Is this a one-shot monitor? More...
 
   }   monitor
 Information for type CT_MONITOR. More...
 
   struct {
      char *   address_prefix
 If type is CT_COMMUNICATOR, this communicator supports communicating using these addresses. More...
 
      struct Queue *   queue_head
 Head of DLL of queues offered by this communicator. More...
 
      struct Queue *   queue_tail
 Tail of DLL of queues offered by this communicator. More...
 
      struct AddressListEntry *   addr_head
 Head of list of the addresses of this peer offered by this communicator. More...
 
      struct AddressListEntry *   addr_tail
 Tail of list of the addresses of this peer offered by this communicator. More...
 
      unsigned int   total_queue_length
 Number of queue entries in all queues to this communicator. More...
 
      enum GNUNET_TRANSPORT_CommunicatorCharacteristics   cc
 Characteristics of this communicator. More...
 
   }   communicator
 Information for type CT_COMMUNICATOR. More...
 
   struct {
      struct GNUNET_CONTAINER_MultiPeerMap *   requests
 Map of requests for peers the given client application would like to see connections for. More...
 
   }   application
 Information for type CT_APPLICATION. More...
 
details
 
union {
   struct GNUNET_PeerIdentity   monitor_peer
 Peer identity to monitor the addresses of. More...
 
   struct {
      struct GST_BlacklistCheck *   bc
 Blacklist check that we're currently performing (or NULL if we're performing one that has been cancelled). More...
 
      int   waiting_for_reply
 Set to GNUNET_YES if we're currently waiting for a reply. More...
 
      int   call_receive_done
 GNUNET_YES if we have to call receive_done for this client More...
 
   }   blacklist
 Additional details if type is CT_BLACKLIST. More...
 
details
 

Detailed Description

Client connected to the transport service.

Definition at line 2330 of file gnunet-service-tng.c.

Field Documentation

◆ next

struct TransportClient * TransportClient::next

◆ prev

struct TransportClient * TransportClient::prev

Kept in a DLL.

This is a doubly-linked list.

Definition at line 2340 of file gnunet-service-tng.c.

◆ client

struct GNUNET_SERVICE_Client * TransportClient::client

◆ mq

struct GNUNET_MQ_Handle * TransportClient::mq

◆ type

enum ClientType TransportClient::type

◆ pending_msg_head

struct PendingMessage* TransportClient::pending_msg_head

Head of list of messages pending for this client, sorted by transmission time ("next_attempt" + possibly internal prioritization).

Definition at line 2368 of file gnunet-service-tng.c.

◆ pending_msg_tail

struct PendingMessage* TransportClient::pending_msg_tail

Tail of list of messages pending for this client.

Definition at line 2373 of file gnunet-service-tng.c.

◆ core

struct { ... } TransportClient::core

Information for type CT_CORE.

Referenced by client_disconnect_cb(), free_pending_message(), and handle_client_send().

◆ peer

struct GNUNET_PeerIdentity TransportClient::peer

Peer identity to monitor the addresses of.

Zero to monitor all neighbours. Valid if type is CT_MONITOR.

Definition at line 2386 of file gnunet-service-tng.c.

◆ one_shot

int TransportClient::one_shot

Is this a one-shot monitor?

Definition at line 2391 of file gnunet-service-tng.c.

◆ monitor

struct { ... } TransportClient::monitor

Information for type CT_MONITOR.

Referenced by handle_monitor_start().

◆ address_prefix

char* TransportClient::address_prefix

If type is CT_COMMUNICATOR, this communicator supports communicating using these addresses.

Definition at line 2404 of file gnunet-service-tng.c.

◆ queue_head

struct Queue* TransportClient::queue_head

Head of DLL of queues offered by this communicator.

Definition at line 2409 of file gnunet-service-tng.c.

◆ queue_tail

struct Queue* TransportClient::queue_tail

Tail of DLL of queues offered by this communicator.

Definition at line 2414 of file gnunet-service-tng.c.

◆ addr_head

struct AddressListEntry* TransportClient::addr_head

Head of list of the addresses of this peer offered by this communicator.

Definition at line 2420 of file gnunet-service-tng.c.

◆ addr_tail

struct AddressListEntry* TransportClient::addr_tail

Tail of list of the addresses of this peer offered by this communicator.

Definition at line 2426 of file gnunet-service-tng.c.

◆ total_queue_length

unsigned int TransportClient::total_queue_length

Number of queue entries in all queues to this communicator.

Used throttle sending to a communicator if we see that the communicator is globally unable to keep up.

Definition at line 2433 of file gnunet-service-tng.c.

◆ cc

Characteristics of this communicator.

Definition at line 2438 of file gnunet-service-tng.c.

◆ communicator

struct { ... } TransportClient::communicator

◆ requests

struct GNUNET_CONTAINER_MultiPeerMap* TransportClient::requests

Map of requests for peers the given client application would like to see connections for.

Maps from PIDs to struct PeerRequest.

Definition at line 2450 of file gnunet-service-tng.c.

◆ application

struct { ... } TransportClient::application

◆ details [1/2]

union { ... } TransportClient::details

◆ monitor_peer

struct GNUNET_PeerIdentity TransportClient::monitor_peer

Peer identity to monitor the addresses of.

Zero to monitor all neighbours. Valid if type is CT_MONITOR.

Definition at line 167 of file gnunet-service-transport.c.

Referenced by handle_client_monitor_peers().

◆ bc

struct GST_BlacklistCheck* TransportClient::bc

Blacklist check that we're currently performing (or NULL if we're performing one that has been cancelled).

Definition at line 178 of file gnunet-service-transport.c.

Referenced by GST_blacklist_test_allowed().

◆ waiting_for_reply

int TransportClient::waiting_for_reply

Set to GNUNET_YES if we're currently waiting for a reply.

Definition at line 183 of file gnunet-service-transport.c.

◆ call_receive_done

int TransportClient::call_receive_done

GNUNET_YES if we have to call receive_done for this client

Definition at line 188 of file gnunet-service-transport.c.

◆ blacklist

struct { ... } TransportClient::blacklist

◆ details [2/2]

union { ... } TransportClient::details

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