not needed
[oweals/gnunet.git] / src / dv / dv.h
index f80ecd4ed9ddad8d10fedfe9dd42ca36bce16033..10b531cedc0e9efcae5a5aeeccd2e7698bd20653 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
 #include "gnunet_common.h"
 
 #define DEBUG_DV_GOSSIP GNUNET_NO
 #include "gnunet_common.h"
 
 #define DEBUG_DV_GOSSIP GNUNET_NO
-#define DEBUG_DV_GOSSIP_SEND GNUNET_YES
-#define DEBUG_DV_GOSSIP_RECEIPT GNUNET_YES
-#define DEBUG_DV GNUNET_YES
-#define DEBUG_DV_API GNUNET_YES
+#define DEBUG_DV_GOSSIP_SEND GNUNET_NO
+#define DEBUG_DV_GOSSIP_RECEIPT GNUNET_NO
+#define DEBUG_DV_MESSAGES GNUNET_NO
+#define DEBUG_DV GNUNET_NO
+#define DEBUG_DV_PEER_NUMBERS GNUNET_NO
+#define DEBUG_MESSAGE_DROP GNUNET_NO
 
 typedef void (*GNUNET_DV_MessageReceivedHandler) (void *cls,
                                                   struct GNUNET_PeerIdentity *sender,
 
 typedef void (*GNUNET_DV_MessageReceivedHandler) (void *cls,
                                                   struct GNUNET_PeerIdentity *sender,
@@ -44,7 +46,7 @@ typedef void (*GNUNET_DV_MessageReceivedHandler) (void *cls,
 
 /**
  * DV Message, contains a message that was received
 
 /**
  * DV Message, contains a message that was received
- * via DV for this peer!
+ * via DV for this peer! Internal.
  *
  * Sender address is copied to the end of this struct,
  * followed by the actual message received.
  *
  * Sender address is copied to the end of this struct,
  * followed by the actual message received.
@@ -62,7 +64,7 @@ struct GNUNET_DV_MessageReceived
   struct GNUNET_PeerIdentity sender;
 
   /**
   struct GNUNET_PeerIdentity sender;
 
   /**
-   * The message that was sent
+   * The length of the message that was sent (appended to this end of struct)
    */
   uint32_t msg_len;
 
    */
   uint32_t msg_len;
 
@@ -71,16 +73,12 @@ struct GNUNET_DV_MessageReceived
    */
   uint32_t distance;
 
    */
   uint32_t distance;
 
-  /**
-   * Length of the sender address, appended to end of this message
-   */
-  uint32_t sender_address_len;
-
 };
 
 
 /**
  * DV Message, indicates that we have learned of a new DV level peer.
 };
 
 
 /**
  * DV Message, indicates that we have learned of a new DV level peer.
+ * Internal.
  *
  * Sender address is copied to the end of this struct.
  */
  *
  * Sender address is copied to the end of this struct.
  */
@@ -114,7 +112,8 @@ struct GNUNET_DV_ConnectMessage
 };
 
 /**
 };
 
 /**
- * Message to return result from a send attempt
+ * Message to return result from a send attempt.
+ * Internal.
  */
 struct GNUNET_DV_SendResultMessage
 {
  */
 struct GNUNET_DV_SendResultMessage
 {
@@ -136,7 +135,8 @@ struct GNUNET_DV_SendResultMessage
 };
 
 /**
 };
 
 /**
- * Message to send a message over DV via a specific peer
+ * Message to send a message over DV via a specific peer.
+ * Internal.
  */
 struct GNUNET_DV_SendMessage
 {
  */
 struct GNUNET_DV_SendMessage
 {
@@ -150,11 +150,6 @@ struct GNUNET_DV_SendMessage
    */
   struct GNUNET_PeerIdentity target;
 
    */
   struct GNUNET_PeerIdentity target;
 
-  /**
-   * The size of the msgbuf
-   */
-  uint32_t msgbuf_size;
-
   /**
    * Message priority
    */
   /**
    * Message priority
    */
@@ -198,7 +193,7 @@ typedef struct
   /**
    * Cost from received from node to neighbor node, takes distance into account
    */
   /**
    * Cost from received from node to neighbor node, takes distance into account
    */
-  unsigned int cost GNUNET_PACKED;
+  uint32_t cost GNUNET_PACKED;
 
   /**
    * Identity of neighbor we learned information about
 
   /**
    * Identity of neighbor we learned information about
@@ -224,19 +219,25 @@ typedef struct
 {
   struct GNUNET_MessageHeader header;
 
 {
   struct GNUNET_MessageHeader header;
 
+  /**
+   * Unique ID for this message.  Will be zero unless
+   * message tracking is desired.
+   */
+  uint32_t uid GNUNET_PACKED;
+
   /**
    * Identity of peer that ultimately sent the message.
    * Should be looked up in the set of 'neighbor_id's of
    * the referring peer.
    */
   /**
    * Identity of peer that ultimately sent the message.
    * Should be looked up in the set of 'neighbor_id's of
    * the referring peer.
    */
-  unsigned int sender GNUNET_PACKED;
+  uint32_t sender GNUNET_PACKED;
 
   /**
    * Identity of neighbor this message is going to.  Should
    * be looked up in the set of our own identifiers for
    * neighbors!
    */
 
   /**
    * Identity of neighbor this message is going to.  Should
    * be looked up in the set of our own identifiers for
    * neighbors!
    */
-  unsigned int recipient GNUNET_PACKED;
+  uint32_t recipient GNUNET_PACKED;
 
 } p2p_dv_MESSAGE_Data;
 
 
 } p2p_dv_MESSAGE_Data;
 
@@ -257,9 +258,15 @@ typedef struct
 
 
 struct GNUNET_DV_Handle *
 
 
 struct GNUNET_DV_Handle *
-GNUNET_DV_connect (struct GNUNET_SCHEDULER_Handle *sched,
-                  const struct GNUNET_CONFIGURATION_Handle *cfg,
+GNUNET_DV_connect (const struct GNUNET_CONFIGURATION_Handle *cfg,
                   GNUNET_DV_MessageReceivedHandler receive_handler,
                   void *receive_handler_cls);
 
                   GNUNET_DV_MessageReceivedHandler receive_handler,
                   void *receive_handler_cls);
 
+/**
+ * Disconnect from the DV service
+ *
+ * @param handle the current handle to the service to disconnect
+ */
+void GNUNET_DV_disconnect(struct GNUNET_DV_Handle *handle);
+
 #endif
 #endif