X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftransport%2Ftransport.h;h=17e4f3c215d5659a5231cfddd9e815618df6df0f;hb=547d531bb3088bf00a0ae5777fa09c7893b7b370;hp=87bfeb38671ee4252e9d84e29519c09ae7e8206a;hpb=1aa2d5f160da455dd68c3d8be6f6e9ebf5b46d98;p=oweals%2Fgnunet.git diff --git a/src/transport/transport.h b/src/transport/transport.h index 87bfeb386..17e4f3c21 100644 --- a/src/transport/transport.h +++ b/src/transport/transport.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2009-2014 Christian Grothoff (and other contributing authors) + Copyright (C) 2009-2014 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** @@ -163,29 +163,6 @@ struct DisconnectInfoMessage }; -/** - * Message type for sending a request connect message - * to the transport service. Must be done before transport - * api will allow messages to be queued/sent to transport - * service for transmission to a peer. - */ -struct TransportRequestConnectMessage -{ - /** - * Message header - */ - struct GNUNET_MessageHeader header; - - /** - * Connect (#GNUNET_YES) or connect (#GNUNET_NO). - */ - uint32_t connect; - - /** - * Identity of the peer we would like to connect to. - */ - struct GNUNET_PeerIdentity peer; -}; /** * Message used to set a particular bandwidth quota. Sent TO the @@ -264,11 +241,6 @@ struct SendOkMessage */ uint32_t bytes_physical GNUNET_PACKED; - /** - * Latency estimate. - */ - struct GNUNET_TIME_RelativeNBO latency; - /** * Which peer can send more now? */ @@ -448,7 +420,7 @@ struct ValidationMonitorMessage /** * One shot call or continous replies? */ - uint32_t one_shot; + uint32_t one_shot GNUNET_PACKED; /** * The identity of the peer to look up. @@ -472,7 +444,7 @@ struct PeerMonitorMessage /** * One shot call or continous replies? */ - uint32_t one_shot; + uint32_t one_shot GNUNET_PACKED; /** * The identity of the peer to look up. @@ -494,19 +466,29 @@ struct TrafficMetricMessage struct GNUNET_MessageHeader header; /** - * SEND, RECEIVE or BOTH? + * Always zero. */ - uint16_t direction; + uint32_t reserved GNUNET_PACKED; /** - * Traffic metrics count + * The identity of the peer to look up. */ - uint16_t ats_count; + struct GNUNET_PeerIdentity peer; /** - * The identity of the peer to look up. + * Fake properties to generate. */ - struct GNUNET_PeerIdentity peer; + struct GNUNET_ATS_PropertiesNBO properties; + + /** + * Fake delay to add on inbound traffic. + */ + struct GNUNET_TIME_RelativeNBO delay_in; + + /** + * Fake delay to add on outbound traffic. + */ + struct GNUNET_TIME_RelativeNBO delay_out; }; @@ -599,14 +581,24 @@ struct TransportPluginMonitorMessage { /** - * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_PLUGIN_MONITOR_EVENT. + * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_EVENT. */ struct GNUNET_MessageHeader header; /** * An `enum GNUNET_TRANSPORT_SessionState` in NBO. */ - int32_t session_state GNUNET_PACKED; + uint16_t session_state GNUNET_PACKED; + + /** + * #GNUNET_YES if this is an inbound connection, + * #GNUNET_NO if this is an outbound connection, + * #GNUNET_SYSERR if connections of this plugin + * are so fundamentally bidirectional + * that they have no 'initiator' + * Value given in NBO. + */ + int16_t is_inbound GNUNET_PACKED; /** * Number of messages waiting transmission. @@ -624,9 +616,9 @@ struct TransportPluginMonitorMessage struct GNUNET_TIME_AbsoluteNBO timeout; /** - * What is the expected latency? + * Until how long is this plugin currently blocked from reading? */ - struct GNUNET_TIME_RelativeNBO delay; + struct GNUNET_TIME_AbsoluteNBO delay; /** * Which peer is this connection for? @@ -634,7 +626,12 @@ struct TransportPluginMonitorMessage struct GNUNET_PeerIdentity peer; /** - * Length of the plugin name in bytes, excluding 0-termination. + * Unique identifier for the session. + */ + uint64_t session_id; + + /** + * Length of the plugin name in bytes, including 0-termination. */ uint16_t plugin_name_len GNUNET_PACKED; @@ -643,7 +640,7 @@ struct TransportPluginMonitorMessage */ uint16_t plugin_address_len GNUNET_PACKED; - /* followed by 0-terminated plugin name and + /* followed by 0-terminated plugin name and @e plugin_address_len bytes of plugin address */ };