GNUnet 0.21.1
GNUNET_SERVICE_Client Struct Reference

Handle to a client that is connected to a service. More...

Collaboration diagram for GNUNET_SERVICE_Client:
[legend]

Data Fields

struct GNUNET_SERVICE_Clientnext
 Kept in a DLL. More...
 
struct GNUNET_SERVICE_Clientprev
 Kept in a DLL. More...
 
struct GNUNET_SERVICE_Handlesh
 Service that this client belongs to. More...
 
struct GNUNET_NETWORK_Handlesock
 Socket of this client. More...
 
struct GNUNET_MQ_Handlemq
 Message queue for the client. More...
 
struct GNUNET_MessageStreamTokenizermst
 Tokenizer we use for processing incoming data. More...
 
struct GNUNET_SCHEDULER_Taskwarn_task
 Task that warns about missing calls to GNUNET_SERVICE_client_continue(). More...
 
struct GNUNET_SCHEDULER_Taskdrop_task
 Task run to finish dropping the client after the stack has properly unwound. More...
 
struct GNUNET_SCHEDULER_Taskrecv_task
 Task that receives data from the client to pass it to the handlers. More...
 
struct GNUNET_SCHEDULER_Tasksend_task
 Task that transmit data to the client. More...
 
const struct GNUNET_MessageHeadermsg
 Pointer to the message to be transmitted by send_task. More...
 
void * user_context
 User context value, value returned from the connect callback. More...
 
struct GNUNET_TIME_Absolute warn_start
 Time when we last gave a message from this client to the application. More...
 
size_t msg_pos
 Current position in msg at which we are transmitting. More...
 
int persist
 Persist the file handle for this client no matter what happens, force the OS to close once the process actually dies. More...
 
int is_monitor
 Is this client a 'monitor' client that should not be counted when deciding on destroying the server during soft shutdown? (see also GNUNET_SERVICE_start) More...
 
int needs_continue
 Are we waiting for the application to call GNUNET_SERVICE_client_continue()? More...
 
uint16_t warn_type
 Type of last message processed (for warn_no_receive_done). More...
 

Detailed Description

Handle to a client that is connected to a service.

Definition at line 251 of file service.c.

Field Documentation

◆ next

struct GNUNET_SERVICE_Client* GNUNET_SERVICE_Client::next

Kept in a DLL.

Definition at line 256 of file service.c.

◆ prev

struct GNUNET_SERVICE_Client* GNUNET_SERVICE_Client::prev

Kept in a DLL.

Definition at line 261 of file service.c.

◆ sh

struct GNUNET_SERVICE_Handle* GNUNET_SERVICE_Client::sh

Service that this client belongs to.

Definition at line 266 of file service.c.

Referenced by finish_client_drop(), GNUNET_SERVICE_client_drop(), GNUNET_SERVICE_client_mark_monitor(), service_mq_error_handler(), and start_client().

◆ sock

struct GNUNET_NETWORK_Handle* GNUNET_SERVICE_Client::sock

Socket of this client.

Definition at line 271 of file service.c.

Referenced by do_send(), finish_client_drop(), resume_client_receive(), service_client_recv(), and start_client().

◆ mq

struct GNUNET_MQ_Handle* GNUNET_SERVICE_Client::mq

Message queue for the client.

Definition at line 276 of file service.c.

Referenced by do_send(), finish_client_drop(), GNUNET_SERVICE_client_drop(), GNUNET_SERVICE_client_get_mq(), service_client_mst_cb(), and start_client().

◆ mst

struct GNUNET_MessageStreamTokenizer* GNUNET_SERVICE_Client::mst

Tokenizer we use for processing incoming data.

Definition at line 281 of file service.c.

Referenced by finish_client_drop(), resume_client_receive(), service_client_recv(), and start_client().

◆ warn_task

◆ drop_task

struct GNUNET_SCHEDULER_Task* GNUNET_SERVICE_Client::drop_task

Task run to finish dropping the client after the stack has properly unwound.

Definition at line 293 of file service.c.

Referenced by do_send(), finish_client_drop(), GNUNET_SERVICE_client_continue(), GNUNET_SERVICE_client_drop(), resume_client_receive(), service_client_mst_cb(), service_client_recv(), and service_mq_send().

◆ recv_task

struct GNUNET_SCHEDULER_Task* GNUNET_SERVICE_Client::recv_task

Task that receives data from the client to pass it to the handlers.

Definition at line 299 of file service.c.

Referenced by finish_client_drop(), GNUNET_SERVICE_client_continue(), GNUNET_SERVICE_client_drop(), resume_client_receive(), service_client_recv(), and start_client().

◆ send_task

struct GNUNET_SCHEDULER_Task* GNUNET_SERVICE_Client::send_task

Task that transmit data to the client.

Definition at line 304 of file service.c.

Referenced by do_send(), finish_client_drop(), GNUNET_SERVICE_client_drop(), service_mq_cancel(), and service_mq_send().

◆ msg

const struct GNUNET_MessageHeader* GNUNET_SERVICE_Client::msg

Pointer to the message to be transmitted by send_task.

Definition at line 309 of file service.c.

Referenced by do_send(), service_mq_cancel(), and service_mq_send().

◆ user_context

void* GNUNET_SERVICE_Client::user_context

User context value, value returned from the connect callback.

Definition at line 315 of file service.c.

Referenced by GNUNET_SERVICE_client_drop(), and start_client().

◆ warn_start

struct GNUNET_TIME_Absolute GNUNET_SERVICE_Client::warn_start

Time when we last gave a message from this client to the application.

Definition at line 321 of file service.c.

Referenced by service_client_mst_cb(), and warn_no_client_continue().

◆ msg_pos

size_t GNUNET_SERVICE_Client::msg_pos

Current position in msg at which we are transmitting.

Definition at line 326 of file service.c.

Referenced by do_send(), service_mq_cancel(), and service_mq_send().

◆ persist

int GNUNET_SERVICE_Client::persist

Persist the file handle for this client no matter what happens, force the OS to close once the process actually dies.

Should only be used in special cases!

Definition at line 333 of file service.c.

Referenced by finish_client_drop(), and GNUNET_SERVICE_client_persist().

◆ is_monitor

int GNUNET_SERVICE_Client::is_monitor

Is this client a 'monitor' client that should not be counted when deciding on destroying the server during soft shutdown? (see also GNUNET_SERVICE_start)

Definition at line 340 of file service.c.

Referenced by GNUNET_SERVICE_client_mark_monitor().

◆ needs_continue

int GNUNET_SERVICE_Client::needs_continue

Are we waiting for the application to call GNUNET_SERVICE_client_continue()?

Definition at line 345 of file service.c.

Referenced by GNUNET_SERVICE_client_continue(), resume_client_receive(), service_client_mst_cb(), and service_client_recv().

◆ warn_type

uint16_t GNUNET_SERVICE_Client::warn_type

Type of last message processed (for warn_no_receive_done).

Definition at line 350 of file service.c.

Referenced by service_client_mst_cb(), service_mq_error_handler(), and warn_no_client_continue().


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