-doxygen
[oweals/gnunet.git] / src / transport / transport-testing.h
index cc4974ff8fdf586b9775b98fa4f61413acf3fdbd..99225936a135402ccfd93f29e50d4ce386fb35ed 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
  *
  * @author Matthias Wachs
  */
-
 #include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_getopt_lib.h"
+#include "gnunet_util_lib.h"
 #include "gnunet_hello_lib.h"
-#include "gnunet_os_lib.h"
-#include "gnunet_program_lib.h"
-#include "gnunet_container_lib.h"
 #include "gnunet_transport_service.h"
+#include "gnunet_testing_lib.h"
 
 
 #define GNUNET_TRANSPORT_TESTING_ConnectRequest void *
@@ -59,7 +55,9 @@ typedef void (*GNUNET_TRANSPORT_TESTING_connect_cb) (struct PeerContext * p1,
                                                      void *cls);
 
 
-
+/**
+ * Definition for a transport testing handle
+ */
 struct GNUNET_TRANSPORT_TESTING_handle;
 
 /**
@@ -67,37 +65,84 @@ struct GNUNET_TRANSPORT_TESTING_handle;
  */
 struct PeerContext
 {
+  /**
+   * Next element in the DLL
+   */
   struct PeerContext *next;
+
+  /**
+   * Previous element in the DLL
+   */
   struct PeerContext *prev;
 
+  /**
+   * Transport testing handle this peer belongs to
+   */
   struct GNUNET_TRANSPORT_TESTING_handle *tth;
 
+  /**
+   * Peer's configuration
+   */
   struct GNUNET_CONFIGURATION_Handle *cfg;
 
+  /**
+   * Peer's transport service handle
+   */
   struct GNUNET_TRANSPORT_Handle *th;
 
+  /**
+   * Peer's transport get hello handle to retrieve peer's HELLO message
+   */
   struct GNUNET_TRANSPORT_GetHelloHandle *ghh;
 
+  /**
+   * Peer's testing handle
+   */
+  struct GNUNET_TESTING_Peer *peer;
+
+  /**
+   * Peer identity
+   */
   struct GNUNET_PeerIdentity id;
 
+  /**
+   * Handle for the peer's ARM process
+   */
   struct GNUNET_OS_Process *arm_proc;
 
+  /**
+   * Receive callback
+   */
   GNUNET_TRANSPORT_ReceiveCallback rec;
 
+  /**
+   * Notify connect callback
+   */
   GNUNET_TRANSPORT_NotifyConnect nc;
 
+  /**
+   * Notify disconnect callback
+   */
   GNUNET_TRANSPORT_NotifyDisconnect nd;
 
+  /**
+   * Startup completed callback
+   */
   GNUNET_TRANSPORT_TESTING_start_cb start_cb;
 
+  /**
+   * Peers HELLO Message
+   */
   struct GNUNET_HELLO_Message *hello;
 
+  /**
+   * Closure for the callbacks
+   */
   void *cb_cls;
 
-  char *servicehome;
-
-  char *hostkeyfile;
-
+  /**
+   * An unique number to identify the peer
+   */
   unsigned int no;
 };
 
@@ -119,14 +164,29 @@ struct ConnectingContext
 
 struct GNUNET_TRANSPORT_TESTING_handle
 {
+  /**
+   * Testing library system handle
+   */
+  struct GNUNET_TESTING_System *tl_system;
+
+  /**
+   * head DLL of connect contexts
+   */
   struct ConnectingContext *cc_head;
-  struct ConnectingContext *cc_tail;
 
-  char *hostkey_data;
-  int hostkeys_total;
-  int hostkeys_last;
+  /**
+   * head DLL of connect contexts
+   */
+  struct ConnectingContext *cc_tail;
 
+  /**
+   * head DLL of peers
+   */
   struct PeerContext *p_head;
+
+  /**
+   * tail DLL of peers
+   */
   struct PeerContext *p_tail;
 };
 
@@ -189,12 +249,12 @@ GNUNET_TRANSPORT_TESTING_restart_peer (struct GNUNET_TRANSPORT_TESTING_handle
  * @param p1 peer 1
  * @param p2 peer 2
  * @param cb the callback to call when both peers notified that they are connected
- * @param cb_cls callback cls
+ * @param cls callback cls
  * @return a connect request handle
  */
 GNUNET_TRANSPORT_TESTING_ConnectRequest
-GNUNET_TRANSPORT_TESTING_connect_peers (struct GNUNET_TRANSPORT_TESTING_handle
-                                        *tth, struct PeerContext *p1,
+GNUNET_TRANSPORT_TESTING_connect_peers (struct GNUNET_TRANSPORT_TESTING_handle *tth,
+                                        struct PeerContext *p1,
                                         struct PeerContext *p2,
                                         GNUNET_TRANSPORT_TESTING_connect_cb cb,
                                         void *cls);
@@ -203,7 +263,7 @@ GNUNET_TRANSPORT_TESTING_connect_peers (struct GNUNET_TRANSPORT_TESTING_handle
  * Cancel the request to connect two peers
  * Tou MUST cancel the request if you stop the peers before the peers connected succesfully
  * @param tth testing
- * @param cc a connect request handle
+ * @param ccr a connect request handle
  */
 void
 GNUNET_TRANSPORT_TESTING_connect_peers_cancel (struct