gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r19445 - gnunet/src/transport
Date: Thu, 26 Jan 2012 16:43:26 +0100

Author: wachs
Date: 2012-01-26 16:43:25 +0100 (Thu, 26 Jan 2012)
New Revision: 19445

Modified:
   gnunet/src/transport/gnunet-service-transport_neighbours.c
   gnunet/src/transport/plugin_transport_udp.c
   gnunet/src/transport/plugin_transport_unix.c
Log:
- fix


Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c  2012-01-26 
15:32:28 UTC (rev 19444)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c  2012-01-26 
15:43:25 UTC (rev 19445)
@@ -63,7 +63,7 @@
 
 #define SETUP_CONNECTION_TIMEOUT GNUNET_TIME_relative_multiply 
(GNUNET_TIME_UNIT_SECONDS, 15)
 
-#define  TEST_NEW_CODE GNUNET_YES
+#define  TEST_NEW_CODE GNUNET_NO
 
 /**
  * Entry in neighbours.

Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2012-01-26 15:32:28 UTC (rev 
19444)
+++ gnunet/src/transport/plugin_transport_udp.c 2012-01-26 15:43:25 UTC (rev 
19445)
@@ -618,6 +618,67 @@
 
 
 /**
+ * Creates a new outbound session the transport service will use to send data 
to the
+ * peer
+ *
+ * @param cls the plugin
+ * @param address the address
+ * @return the session or NULL of max connections exceeded
+ */
+
+static struct Session *
+udp_plugin_get_session (void *cls,
+                  const struct GNUNET_HELLO_Address *address)
+{
+  struct Session * s = NULL;
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "To be implemented\n");
+  GNUNET_break (0);
+  return s;
+}
+
+/**
+ * Function that can be used by the transport service to transmit
+ * a message using the plugin.   Note that in the case of a
+ * peer disconnecting, the continuation MUST be called
+ * prior to the disconnect notification itself.  This function
+ * will be called with this peer's HELLO message to initiate
+ * a fresh connection to another peer.
+ *
+ * @param cls closure
+ * @param session which session must be used
+ * @param msgbuf the message to transmit
+ * @param msgbuf_size number of bytes in 'msgbuf'
+ * @param priority how important is the message (most plugins will
+ *                 ignore message priority and just FIFO)
+ * @param to how long to wait at most for the transmission (does not
+ *                require plugins to discard the message after the timeout,
+ *                just advisory for the desired delay; most plugins will ignore
+ *                this as well)
+ * @param cont continuation to call once the message has
+ *        been transmitted (or if the transport is ready
+ *        for the next transmission call; or if the
+ *        peer disconnected...); can be NULL
+ * @param cont_cls closure for cont
+ * @return number of bytes used (on the physical network, with overheads);
+ *         -1 on hard errors (i.e. address invalid); 0 is a legal value
+ *         and does NOT mean that the message was not transmitted (DV)
+ */
+static ssize_t
+udp_plugin_send (void *cls,
+                  struct Session *session,
+                  const char *msgbuf, size_t msgbuf_size,
+                  unsigned int priority,
+                  struct GNUNET_TIME_Relative to,
+                  GNUNET_TRANSPORT_TransmitContinuation cont, void *cont_cls)
+{
+  ssize_t sent = -1;
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "To be implemented\n");
+  GNUNET_break (0);
+  return sent;
+}
+
+
+/**
  * Actually send out the message.
  *
  * @param plugin the plugin
@@ -799,7 +860,7 @@
  *         still be transmitted later!)
  */
 static ssize_t
-udp_plugin_send (void *cls, const struct GNUNET_PeerIdentity *target,
+udp_plugin_send_old (void *cls, const struct GNUNET_PeerIdentity *target,
                  const char *msgbuf, size_t msgbuf_size, unsigned int priority,
                  struct GNUNET_TIME_Relative timeout, struct Session *session,
                  const void *addr, size_t addrlen, int force_address,
@@ -2122,12 +2183,15 @@
   api = GNUNET_malloc (sizeof (struct GNUNET_TRANSPORT_PluginFunctions));
   api->cls = plugin;
 
-  api->send = &udp_plugin_send;
+  api->send = &udp_plugin_send_old;
   api->disconnect = &udp_disconnect;
   api->address_pretty_printer = &udp_plugin_address_pretty_printer;
   api->address_to_string = &udp_address_to_string;
   api->check_address = &udp_plugin_check_address;
 
+  api->get_session = &udp_plugin_get_session;
+  api->send_with_session = &udp_plugin_send;
+
   if (GNUNET_YES ==
       GNUNET_CONFIGURATION_get_value_string (env->cfg, "transport-udp",
                                              "BINDTO", &plugin->bind4_address))

Modified: gnunet/src/transport/plugin_transport_unix.c
===================================================================
--- gnunet/src/transport/plugin_transport_unix.c        2012-01-26 15:32:28 UTC 
(rev 19444)
+++ gnunet/src/transport/plugin_transport_unix.c        2012-01-26 15:43:25 UTC 
(rev 19445)
@@ -659,7 +659,68 @@
 
 
 /**
+ * Creates a new outbound session the transport service will use to send data 
to the
+ * peer
+ *
+ * @param cls the plugin
+ * @param address the address
+ * @return the session or NULL of max connections exceeded
+ */
+
+static struct Session *
+unix_plugin_get_session (void *cls,
+                  const struct GNUNET_HELLO_Address *address)
+{
+  struct Session * s = NULL;
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "To be implemented\n");
+  GNUNET_break (0);
+  return s;
+}
+
+/**
  * Function that can be used by the transport service to transmit
+ * a message using the plugin.   Note that in the case of a
+ * peer disconnecting, the continuation MUST be called
+ * prior to the disconnect notification itself.  This function
+ * will be called with this peer's HELLO message to initiate
+ * a fresh connection to another peer.
+ *
+ * @param cls closure
+ * @param session which session must be used
+ * @param msgbuf the message to transmit
+ * @param msgbuf_size number of bytes in 'msgbuf'
+ * @param priority how important is the message (most plugins will
+ *                 ignore message priority and just FIFO)
+ * @param to how long to wait at most for the transmission (does not
+ *                require plugins to discard the message after the timeout,
+ *                just advisory for the desired delay; most plugins will ignore
+ *                this as well)
+ * @param cont continuation to call once the message has
+ *        been transmitted (or if the transport is ready
+ *        for the next transmission call; or if the
+ *        peer disconnected...); can be NULL
+ * @param cont_cls closure for cont
+ * @return number of bytes used (on the physical network, with overheads);
+ *         -1 on hard errors (i.e. address invalid); 0 is a legal value
+ *         and does NOT mean that the message was not transmitted (DV)
+ */
+static ssize_t
+unix_plugin_send (void *cls,
+                  struct Session *session,
+                  const char *msgbuf, size_t msgbuf_size,
+                  unsigned int priority,
+                  struct GNUNET_TIME_Relative to,
+                  GNUNET_TRANSPORT_TransmitContinuation cont, void *cont_cls)
+{
+  ssize_t sent = -1;
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "To be implemented\n");
+  GNUNET_break (0);
+  return sent;
+}
+
+
+/**
+ * Function that can be used by the transport service to transmit
  * a message using the plugin.
  *
  * @param cls closure
@@ -683,7 +744,7 @@
  *         still be transmitted later!)
  */
 static ssize_t
-unix_plugin_send (void *cls, const struct GNUNET_PeerIdentity *target,
+unix_plugin_send_old (void *cls, const struct GNUNET_PeerIdentity *target,
                   const char *msgbuf, size_t msgbuf_size, unsigned int 
priority,
                   struct GNUNET_TIME_Relative timeout, struct Session *session,
                   const void *addr, size_t addrlen, int force_address,
@@ -1086,7 +1147,9 @@
   api = GNUNET_malloc (sizeof (struct GNUNET_TRANSPORT_PluginFunctions));
   api->cls = plugin;
 
-  api->send = &unix_plugin_send;
+  api->get_session = &unix_plugin_get_session;
+  api->send_with_session = &unix_plugin_send;
+  api->send = &unix_plugin_send_old;
   api->disconnect = &unix_disconnect;
   api->address_pretty_printer = &unix_plugin_address_pretty_printer;
   api->address_to_string = &unix_address_to_string;




reply via email to

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