-add newline
[oweals/gnunet.git] / src / dv / dv.h
index 41634e4eb6445b21799d7b8192ac48ab125be663..0d42505bcbec2b95b99c7acfcec81055e9d21f43 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
-     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
 
 #include "gnunet_common.h"
 
-#define DEBUG_DV_GOSSIP GNUNET_NO
-#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_YES
+#define DEBUG_DV_GOSSIP GNUNET_EXTRA_LOGGING
+#define DEBUG_DV_GOSSIP_SEND GNUNET_EXTRA_LOGGING
+#define DEBUG_DV_GOSSIP_RECEIPT GNUNET_EXTRA_LOGGING
+#define DEBUG_DV_MESSAGES GNUNET_EXTRA_LOGGING
+#define DEBUG_DV GNUNET_EXTRA_LOGGING
+#define DEBUG_DV_PEER_NUMBERS GNUNET_EXTRA_LOGGING
+#define DEBUG_MESSAGE_DROP GNUNET_EXTRA_LOGGING
 
 typedef void (*GNUNET_DV_MessageReceivedHandler) (void *cls,
-                                                  struct GNUNET_PeerIdentity *sender,
-                                                  char *msg,
+                                                  struct GNUNET_PeerIdentity *
+                                                  sender, char *msg,
                                                   size_t msg_len,
                                                   uint32_t distance,
                                                   char *sender_address,
                                                   size_t sender_address_len);
 
+GNUNET_NETWORK_STRUCT_BEGIN
+
 /**
  * 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.
@@ -64,7 +66,7 @@ struct GNUNET_DV_MessageReceived
   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;
 
@@ -73,16 +75,12 @@ struct GNUNET_DV_MessageReceived
    */
   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.
+ * Internal.
  *
  * Sender address is copied to the end of this struct.
  */
@@ -116,7 +114,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
 {
@@ -138,7 +137,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
 {
@@ -152,11 +152,6 @@ struct GNUNET_DV_SendMessage
    */
   struct GNUNET_PeerIdentity target;
 
-  /**
-   * The size of the msgbuf
-   */
-  uint32_t msgbuf_size;
-
   /**
    * Message priority
    */
@@ -200,7 +195,7 @@ typedef struct
   /**
    * 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
@@ -226,26 +221,25 @@ typedef struct
 {
   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.
    */
-  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!
    */
-  unsigned int recipient GNUNET_PACKED;
-
-#if TRACK_MESSAGES
-  /**
-   * Unique ID for this message.
-   */
-  unsigned int uid GNUNET_PACKED;
-#endif
+  uint32_t recipient GNUNET_PACKED;
 
 } p2p_dv_MESSAGE_Data;
 
@@ -263,12 +257,19 @@ typedef struct
   uint32_t peer_id GNUNET_PACKED;
 
 } p2p_dv_MESSAGE_Disconnect;
-
+GNUNET_NETWORK_STRUCT_END
 
 struct GNUNET_DV_Handle *
-GNUNET_DV_connect (struct GNUNET_SCHEDULER_Handle *sched,
-                  const struct GNUNET_CONFIGURATION_Handle *cfg,
-                  GNUNET_DV_MessageReceivedHandler receive_handler,
-                  void *receive_handler_cls);
+GNUNET_DV_connect (const struct GNUNET_CONFIGURATION_Handle *cfg,
+                   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