gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r34378 - in gnunet/src: include transport


From: gnunet
Subject: [GNUnet-SVN] r34378 - in gnunet/src: include transport
Date: Thu, 23 Oct 2014 12:22:47 +0200

Author: grothoff
Date: 2014-10-23 12:22:47 +0200 (Thu, 23 Oct 2014)
New Revision: 34378

Modified:
   gnunet/src/include/gnunet_protocols.h
   gnunet/src/transport/transport.h
Log:
define transport plugin monitor IPC format

Modified: gnunet/src/include/gnunet_protocols.h
===================================================================
--- gnunet/src/include/gnunet_protocols.h       2014-10-23 10:22:19 UTC (rev 
34377)
+++ gnunet/src/include/gnunet_protocols.h       2014-10-23 10:22:47 UTC (rev 
34378)
@@ -1336,6 +1336,18 @@
  */
 #define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_VALIDATION_RESPONSE 387
 
+/**
+ * Request to start monitoring the connection state of plugins.
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START 388
+
+/**
+ * Monitoring event about the connection state of plugins,
+ * generated in response to a subscription initiated via
+ * #GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_START
+ */
+#define GNUNET_MESSAGE_TYPE_TRANSPORT_MONITOR_PLUGIN_EVENT 389
+
 
/*******************************************************************************
  * FS-PUBLISH-HELPER IPC Messages
  
******************************************************************************/

Modified: gnunet/src/transport/transport.h
===================================================================
--- gnunet/src/transport/transport.h    2014-10-23 10:22:19 UTC (rev 34377)
+++ gnunet/src/transport/transport.h    2014-10-23 10:22:47 UTC (rev 34378)
@@ -590,6 +590,65 @@
   struct GNUNET_PeerIdentity peer;
 
 };
+
+
+/**
+ * Transport-level connection status update.
+ */
+struct TransportPluginMonitorMessage
+{
+
+  /**
+   * Type will be #GNUNET_MESSAGE_TYPE_TRANSPORT_PLUGIN_MONITOR_EVENT.
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * An `enum GNUNET_TRANSPORT_SessionState` in NBO.
+   */
+  int32_t session_state GNUNET_PACKED;
+
+  /**
+   * Number of messages waiting transmission.
+   */
+  uint32_t msgs_pending GNUNET_PACKED;
+
+  /**
+   * Number of bytes waiting for transmission.
+   */
+  uint32_t bytes_pending GNUNET_PACKED;
+
+  /**
+   * When will this transport plugin session time out?
+   */
+  struct GNUNET_TIME_AbsoluteNBO timeout;
+
+  /**
+   * What is the expected latency?
+   */
+  struct GNUNET_TIME_RelativeNBO delay;
+
+  /**
+   * Which peer is this connection for?
+   */
+  struct GNUNET_PeerIdentity peer;
+
+  /**
+   * Length of the plugin name in bytes, excluding 0-termination.
+   */
+  uint16_t plugin_name_len GNUNET_PACKED;
+
+  /**
+   * Length of the plugin address in bytes.
+   */
+  uint16_t plugin_address_len GNUNET_PACKED;
+
+  /* followed by 0-terminated plugin name and 
+     @e plugin_address_len bytes of plugin address */
+
+};
+
+
 GNUNET_NETWORK_STRUCT_END
 
 /* end of transport.h */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]