fixing major issue with how IP addresses go over the network (previously ill-defined...
[oweals/gnunet.git] / src / transport / plugin_transport_template.c
index fc1c1722b00553490a585363645785f5c55961f2..1ca4d018f9098333af92047620e85c6fef6149b6 100644 (file)
@@ -139,6 +139,7 @@ struct Plugin
  * @param msgbuf the message to transmit
  * @param msgbuf_size number of bytes in 'msgbuf'
  * @param timeout when should we time out 
+ * @param session which session must be used (or NULL for "any")
  * @param addr the address to use (can be NULL if the plugin
  *                is "on its own" (i.e. re-use existing TCP connection))
  * @param addrlen length of the address in bytes
@@ -162,6 +163,7 @@ template_plugin_send (void *cls,
                       size_t msgbuf_size,
                       unsigned int priority,
                       struct GNUNET_TIME_Relative timeout,
+                     struct Session *session,
                       const void *addr,
                       size_t addrlen,
                       int force_address,
@@ -219,23 +221,6 @@ template_plugin_address_pretty_printer (void *cls,
   asc (asc_cls, NULL);
 }
 
-/**
- * Set a quota for receiving data from the given peer; this is a
- * per-transport limit.  The transport should limit its read/select
- * calls to stay below the quota (in terms of incoming data).
- *
- * @param cls closure
- * @param target the peer for whom the quota is given
- * @param quota_in quota for receiving/sending data in bytes per ms
- */
-static void
-template_plugin_set_receive_quota (void *cls,
-                                   const struct GNUNET_PeerIdentity *target,
-                                   uint32_t quota_in)
-{
-  // struct Plugin *plugin = cls;
-  // FIXME!
-}
 
 
 /**
@@ -262,6 +247,29 @@ template_plugin_address_suggested (void *cls,
 }
 
 
+/**
+ * Function called for a quick conversion of the binary address to
+ * a numeric address.  Note that the caller must not free the 
+ * address and that the next call to this function is allowed
+ * to override the address again.
+ *
+ * @param cls closure
+ * @param addr binary address
+ * @param addr_len length of the address
+ * @return string representing the same address 
+ */
+static const char* 
+template_plugin_address_to_string (void *cls,
+                                  const void *addr,
+                                  size_t addrlen)
+{
+  GNUNET_break (0);
+  return NULL;
+}
+
+
+
+
 /**
  * Entry point for the plugin.
  */
@@ -280,8 +288,8 @@ gnunet_plugin_transport_template_init (void *cls)
   api->send = &template_plugin_send;
   api->disconnect = &template_plugin_disconnect;
   api->address_pretty_printer = &template_plugin_address_pretty_printer;
-  api->set_receive_quota = &template_plugin_set_receive_quota;
   api->check_address = &template_plugin_address_suggested;
+  api->address_to_string = &template_plugin_address_to_string;
   return api;
 }