gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r26014 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r26014 - gnunet/src/transport
Date: Tue, 5 Feb 2013 13:45:13 +0100

Author: wachs
Date: 2013-02-05 13:45:13 +0100 (Tue, 05 Feb 2013)
New Revision: 26014

Modified:
   gnunet/src/transport/gnunet-service-transport.c
   gnunet/src/transport/gnunet-service-transport.h
   gnunet/src/transport/transport.h
Log:
more metric


Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2013-02-05 12:44:22 UTC 
(rev 26013)
+++ gnunet/src/transport/gnunet-service-transport.c     2013-02-05 12:45:13 UTC 
(rev 26014)
@@ -37,6 +37,7 @@
 #include "gnunet-service-transport_neighbours.h"
 #include "gnunet-service-transport_plugins.h"
 #include "gnunet-service-transport_validation.h"
+#include "gnunet-service-transport_manipulation.h"
 #include "transport.h"
 
 /* globals */
@@ -229,8 +230,8 @@
  * @return how long the plugin should wait until receiving more data
  *         (plugins that do not support this, can ignore the return value)
  */
-static struct GNUNET_TIME_Relative
-plugin_env_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
+struct GNUNET_TIME_Relative
+GST_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
                              const struct GNUNET_MessageHeader *message,
                              const struct GNUNET_ATS_Information *ats,
                              uint32_t ats_count, struct Session *session,
@@ -568,6 +569,7 @@
   GST_clients_stop ();
   GST_blacklist_stop ();
   GST_hello_stop ();
+  GST_manipulation_stop ();
 
   if (NULL != GST_peerinfo)
   {
@@ -677,7 +679,8 @@
   GST_blacklist_start (GST_server);
   GST_ats =
       GNUNET_ATS_scheduling_init (GST_cfg, &ats_request_address_change, NULL);
-  GST_plugins_load (&plugin_env_receive_callback,
+  GST_manipulation_init ();
+  GST_plugins_load (&GST_manipulation_recv,
                     &plugin_env_address_change_notification,
                     &plugin_env_session_end,
                     &plugin_env_address_to_type);

Modified: gnunet/src/transport/gnunet-service-transport.h
===================================================================
--- gnunet/src/transport/gnunet-service-transport.h     2013-02-05 12:44:22 UTC 
(rev 26013)
+++ gnunet/src/transport/gnunet-service-transport.h     2013-02-05 12:45:13 UTC 
(rev 26014)
@@ -67,6 +67,37 @@
  */
 extern struct GNUNET_ATS_SchedulingHandle *GST_ats;
 
+/**
+ * Function called by the transport for each received message.
+ * This function should also be called with "NULL" for the
+ * message to signal that the other peer disconnected.
+ *
+ * @param cls closure, const char* with the name of the plugin we received the 
message from
+ * @param peer (claimed) identity of the other peer
+ * @param message the message, NULL if we only care about
+ *                learning about the delay until we should receive again -- 
FIXME!
+ * @param ats performance information
+ * @param ats_count number of records in ats
+ * @param session identifier used for this session (NULL for plugins
+ *                that do not offer bi-directional communication to the sender
+ *                using the same "connection")
+ * @param sender_address binary address of the sender (if we established the
+ *                connection or are otherwise sure of it; should be NULL
+ *                for inbound TCP/UDP connections since it it not clear
+ *                that we could establish ourselves a connection to that
+ *                IP address and get the same system)
+ * @param sender_address_len number of bytes in sender_address
+ * @return how long the plugin should wait until receiving more data
+ *         (plugins that do not support this, can ignore the return value)
+ */
+struct GNUNET_TIME_Relative
+GST_receive_callback (void *cls, const struct GNUNET_PeerIdentity *peer,
+                             const struct GNUNET_MessageHeader *message,
+                             const struct GNUNET_ATS_Information *ats,
+                             uint32_t ats_count, struct Session *session,
+                             const char *sender_address,
+                             uint16_t sender_address_len);
 
+
 #endif
 /* end of file gnunet-service-transport_plugins.h */

Modified: gnunet/src/transport/transport.h
===================================================================
--- gnunet/src/transport/transport.h    2013-02-05 12:44:22 UTC (rev 26013)
+++ gnunet/src/transport/transport.h    2013-02-05 12:45:13 UTC (rev 26014)
@@ -415,6 +415,34 @@
 
 
 /**
+ * Message from the library to the transport service
+ * asking for binary addresses known for a peer.
+ */
+struct TrafficMetricMessage
+{
+  /**
+   * Type will be GNUNET_MESSAGE_TYPE_TRANSPORT_TRAFFIC_METRIC
+   */
+  struct GNUNET_MessageHeader header;
+
+  /**
+   * SEND, RECEIVE or BOTH?
+   */
+  uint16_t direction;
+
+  /**
+   * Traffic metrics count
+   */
+  uint16_t ats_count;
+
+  /**
+   * The identity of the peer to look up.
+   */
+  struct GNUNET_PeerIdentity peer;
+};
+
+
+/**
  * Message from the transport service to the library
  * containing binary addresses known for a peer.
  * Memory layout:




reply via email to

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