GNUnet  0.20.0
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 2415 of file gnunet-service-tng.c.

Field Documentation

◆ next

struct TransportClient * TransportClient::next

Kept in a DLL.

This is a doubly-linked list.

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

◆ prev

struct TransportClient * TransportClient::prev

Kept in a DLL.

This is a doubly-linked list.

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

◆ client

◆ mq

struct GNUNET_MQ_Handle * TransportClient::mq

Message queue to the client.

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

Referenced by finish_cmc_handling_with_continue(), plugin_session_info_cb(), and transmit_address_to_client().

◆ 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 2453 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 2458 of file gnunet-service-tng.c.

◆ 

struct { ... } TransportClient::core

Information for type CT_CORE.

◆ peer

struct GNUNET_PeerIdentity TransportClient::peer

◆ one_shot

int TransportClient::one_shot

Is this a one-shot monitor?

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

◆ 

struct { ... } TransportClient::monitor

Information for type CT_MONITOR.

◆ address_prefix

char* TransportClient::address_prefix

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

Definition at line 2489 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 2494 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 2499 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 2505 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 2511 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 2518 of file gnunet-service-tng.c.

◆ cc

Characteristics of this communicator.

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

◆ 

struct { ... } TransportClient::communicator

Information for type CT_COMMUNICATOR.

Referenced by handle_dv_learn(), and handle_validation_response().

◆ 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 2535 of file gnunet-service-tng.c.

◆ 

struct { ... } TransportClient::application

Information for type CT_APPLICATION.

◆  [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 153 of file gnunet-service-transport.c.

◆ 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(), and GST_blacklist_test_cancel().

◆ 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.

◆ 

struct { ... } TransportClient::blacklist

Additional details if type is CT_BLACKLIST.

Referenced by GST_blacklist_test_cancel().

◆  [2/2]

union { ... } TransportClient::details

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