GNUnet 0.21.1
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...
 
      struct GNUNET_SCHEDULER_Task *   free_queue_entry_task
 Task to check for timed out QueueEntry. 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
 

Detailed Description

Client connected to the transport service.

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

Field Documentation

◆ next

struct TransportClient* TransportClient::next

Kept in a DLL.

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

◆ prev

struct TransportClient* TransportClient::prev

Kept in a DLL.

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

◆ client

◆ mq

struct GNUNET_MQ_Handle* TransportClient::mq

Message queue to the client.

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

Referenced by finish_cmc_handling_with_continue().

◆ type

enum ClientType TransportClient::type

What type of client is this?

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

Referenced by handle_dv_learn().

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

◆ pending_msg_tail

struct PendingMessage* TransportClient::pending_msg_tail

Tail of list of messages pending for this client.

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

◆ 

struct { ... } TransportClient::core

Information for type CT_CORE.

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

◆ one_shot

int TransportClient::one_shot

Is this a one-shot monitor?

Definition at line 2569 of file gnunet-service-transport.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 2582 of file gnunet-service-transport.c.

◆ queue_head

struct Queue* TransportClient::queue_head

Head of DLL of queues offered by this communicator.

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

◆ queue_tail

struct Queue* TransportClient::queue_tail

Tail of DLL of queues offered by this communicator.

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

◆ addr_head

struct AddressListEntry* TransportClient::addr_head

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

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

◆ addr_tail

struct AddressListEntry* TransportClient::addr_tail

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

Definition at line 2604 of file gnunet-service-transport.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 2611 of file gnunet-service-transport.c.

◆ free_queue_entry_task

struct GNUNET_SCHEDULER_Task* TransportClient::free_queue_entry_task

Task to check for timed out QueueEntry.

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

◆ cc

Characteristics of this communicator.

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

Referenced by handle_dv_learn().

◆ 

struct { ... } TransportClient::communicator

Information for type CT_COMMUNICATOR.

Referenced by handle_dv_learn().

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

◆ 

struct { ... } TransportClient::application

Information for type CT_APPLICATION.

◆ 

union { ... } TransportClient::details

Referenced by handle_dv_learn().


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