Context from handle_incoming_msg(). More...
Data Fields | |
| struct CommunicatorMessageContext * | next |
Kept in a DLL of struct VirtualLink if waiting for CORE flow control to unchoke. | |
| struct CommunicatorMessageContext * | prev |
Kept in a DLL of struct VirtualLink if waiting for CORE flow control to unchoke. | |
| struct TransportClient * | tc |
| Which communicator provided us with the message. | |
| struct GNUNET_TRANSPORT_IncomingMessage | im |
| Additional information for flow control and about the sender. | |
| const struct GNUNET_MessageHeader * | mh |
| The message to demultiplex. | |
| uint16_t | total_hops |
| Number of hops the message has travelled (if DV-routed). | |
| unsigned int | ack_sent |
| Did we already send the flow control ACK to the communicator? The ACK is per-message and expresses CORE backpressure, so it is withheld while the message waits on core_recv_window. | |
| unsigned int | client_resumed |
| Did we already call GNUNET_SERVICE_client_continue()? That call is per client, not per message, so it must never be withheld for a condition that concerns a single virtual link – see finish_handling_raw_message(). | |
Context from handle_incoming_msg().
Closure for many message handlers below.
Definition at line 1344 of file gnunet-service-transport.c.
| struct CommunicatorMessageContext* CommunicatorMessageContext::next |
Kept in a DLL of struct VirtualLink if waiting for CORE flow control to unchoke.
Definition at line 1350 of file gnunet-service-transport.c.
| struct CommunicatorMessageContext* CommunicatorMessageContext::prev |
Kept in a DLL of struct VirtualLink if waiting for CORE flow control to unchoke.
Definition at line 1356 of file gnunet-service-transport.c.
| struct TransportClient* CommunicatorMessageContext::tc |
Which communicator provided us with the message.
Definition at line 1361 of file gnunet-service-transport.c.
Referenced by handle_dv_learn(), handle_incoming_msg(), resume_cmc_client(), and send_cmc_ack().
| struct GNUNET_TRANSPORT_IncomingMessage CommunicatorMessageContext::im |
Additional information for flow control and about the sender.
Definition at line 1366 of file gnunet-service-transport.c.
Referenced by decaps_dv_box_cont(), finish_handling_raw_message(), handle_backchannel_encapsulation(), handle_dv_learn(), handle_flow_control(), handle_fragment_box(), handle_incoming_msg(), handle_raw_message(), handle_reliability_ack(), handle_reliability_box(), handle_validation_challenge(), handle_validation_response(), send_cmc_ack(), and send_t_validation_response().
| const struct GNUNET_MessageHeader* CommunicatorMessageContext::mh |
The message to demultiplex.
Definition at line 1371 of file gnunet-service-transport.c.
Referenced by backtalker_monotime_cb(), decaps_dv_box_cont(), demultiplex_with_cmc(), handle_fragment_box(), handle_incoming_msg(), handle_raw_message(), and handle_reliability_box().
| uint16_t CommunicatorMessageContext::total_hops |
Number of hops the message has travelled (if DV-routed).
FIXME: make use of this in ACK handling!
Definition at line 1377 of file gnunet-service-transport.c.
Referenced by handle_dv_box(), and handle_validation_challenge().
| unsigned int CommunicatorMessageContext::ack_sent |
Did we already send the flow control ACK to the communicator? The ACK is per-message and expresses CORE backpressure, so it is withheld while the message waits on core_recv_window.
Definition at line 1384 of file gnunet-service-transport.c.
Referenced by send_cmc_ack().
| unsigned int CommunicatorMessageContext::client_resumed |
Did we already call GNUNET_SERVICE_client_continue()? That call is per client, not per message, so it must never be withheld for a condition that concerns a single virtual link – see finish_handling_raw_message().
Definition at line 1392 of file gnunet-service-transport.c.
Referenced by resume_cmc_client().