[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:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r26014 - gnunet/src/transport,
gnunet <=