Merge branch 'crypto'
[oweals/gnunet.git] / src / cadet / gnunet-service-cadet_peer.h
index ea64665d43ea753fe9ea3a31adfe4f8d5b2174bc..8fefd053d0adaa4cf40f6b624b9815c3e4c7ccfc 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2013 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -182,7 +182,9 @@ GCP_queue_cancel (struct CadetPeer *peer, struct CadetConnection *c);
  *
  * @param peer Neighboring peer.
  * @param c Connection.
- * @param destroyed[out] Was the connection destroyed as a result?.
+ * @param destroyed[in/out] Was the connection destroyed as a result?.
+ *                          Can NOT be NULL.
+ *
  *
  * @return First message for this connection.
  */
@@ -213,6 +215,7 @@ GCP_queue_unlock (struct CadetPeer *peer, struct CadetConnection *c);
 void
 GCP_set_tunnel (struct CadetPeer *peer, struct CadetTunnel *t);
 
+
 /**
  * Check whether there is a direct (core level)  connection to peer.
  *
@@ -223,6 +226,7 @@ GCP_set_tunnel (struct CadetPeer *peer, struct CadetTunnel *t);
 int
 GCP_is_neighbor (const struct CadetPeer *peer);
 
+
 /**
  * Create and initialize a new tunnel towards a peer, in case it has none.
  *
@@ -233,6 +237,7 @@ GCP_is_neighbor (const struct CadetPeer *peer);
 void
 GCP_add_tunnel (struct CadetPeer *peer);
 
+
 /**
  * Add a connection to a neighboring peer.
  *
@@ -242,11 +247,13 @@ GCP_add_tunnel (struct CadetPeer *peer);
  *
  * @param peer Peer to add connection to.
  * @param c Connection to add.
- *
- * @return GNUNET_OK on success.
+ * @param pred #GNUNET_YES if we are predecessor, #GNUNET_NO if we are successor
  */
-int
-GCP_add_connection (struct CadetPeer *peer, struct CadetConnection *c);
+void
+GCP_add_connection (struct CadetPeer *peer,
+                    struct CadetConnection *c,
+                    int pred);
+
 
 /**
  * Add the path to the peer and update the path used to reach it in case this
@@ -261,7 +268,10 @@ GCP_add_connection (struct CadetPeer *peer, struct CadetConnection *c);
  *         NULL on error.
  */
 struct CadetPeerPath *
-GCP_add_path (struct CadetPeer *peer, struct CadetPeerPath *p, int trusted);
+GCP_add_path (struct CadetPeer *peer,
+              struct CadetPeerPath *p,
+              int trusted);
+
 
 /**
  * Add the path to the origin peer and update the path used to reach it in case
@@ -291,6 +301,7 @@ GCP_add_path_to_origin (struct CadetPeer *peer,
 void
 GCP_add_path_to_all (const struct CadetPeerPath *p, int confirmed);
 
+
 /**
  * Remove any path to the peer that has the extact same peers as the one given.
  *
@@ -298,18 +309,20 @@ GCP_add_path_to_all (const struct CadetPeerPath *p, int confirmed);
  * @param path Path to remove. Is always destroyed .
  */
 void
-GCP_remove_path (struct CadetPeer *peer, struct CadetPeerPath *path);
+GCP_remove_path (struct CadetPeer *peer,
+                 struct CadetPeerPath *path);
+
 
 /**
  * Remove a connection from a neighboring peer.
  *
  * @param peer Peer to remove connection from.
  * @param c Connection to remove.
- *
- * @return GNUNET_OK on success.
  */
-int
-GCP_remove_connection (struct CadetPeer *peer, const struct CadetConnection *c);
+void
+GCP_remove_connection (struct CadetPeer *peer,
+                       const struct CadetConnection *c);
+
 
 /**
  * Start the DHT search for new paths towards the peer: we don't have
@@ -320,6 +333,7 @@ GCP_remove_connection (struct CadetPeer *peer, const struct CadetConnection *c);
 void
 GCP_start_search (struct CadetPeer *peer);
 
+
 /**
  * Stop the DHT search for new paths towards the peer: we already have
  * enough good connections.
@@ -329,6 +343,7 @@ GCP_start_search (struct CadetPeer *peer);
 void
 GCP_stop_search (struct CadetPeer *peer);
 
+
 /**
  * Get the Full ID of a peer.
  *
@@ -339,6 +354,7 @@ GCP_stop_search (struct CadetPeer *peer);
 const struct GNUNET_PeerIdentity *
 GCP_get_id (const struct CadetPeer *peer);
 
+
 /**
  * Get the Short ID of a peer.
  *
@@ -349,6 +365,7 @@ GCP_get_id (const struct CadetPeer *peer);
 GNUNET_PEER_Id
 GCP_get_short_id (const struct CadetPeer *peer);
 
+
 /**
  * Get the tunnel towards a peer.
  *
@@ -359,6 +376,7 @@ GCP_get_short_id (const struct CadetPeer *peer);
 struct CadetTunnel *
 GCP_get_tunnel (const struct CadetPeer *peer);
 
+
 /**
  * Set the hello message.
  *
@@ -366,7 +384,9 @@ GCP_get_tunnel (const struct CadetPeer *peer);
  * @param hello Hello message.
  */
 void
-GCP_set_hello (struct CadetPeer *peer, const struct GNUNET_HELLO_Message *hello);
+GCP_set_hello (struct CadetPeer *peer,
+               const struct GNUNET_HELLO_Message *hello);
+
 
 /**
  * Get the hello message.
@@ -400,6 +420,7 @@ GCP_notify_broken_link (struct CadetPeer *peer,
                         struct GNUNET_PeerIdentity *peer1,
                         struct GNUNET_PeerIdentity *peer2);
 
+
 /**
  * Count the number of known paths toward the peer.
  *
@@ -410,6 +431,7 @@ GCP_notify_broken_link (struct CadetPeer *peer,
 unsigned int
 GCP_count_paths (const struct CadetPeer *peer);
 
+
 /**
  * Iterate all known peers.
  *
@@ -419,6 +441,7 @@ GCP_count_paths (const struct CadetPeer *peer);
 void
 GCP_iterate_all (GNUNET_CONTAINER_PeerMapIterator iter, void *cls);
 
+
 /**
  * Get the static string for a peer ID.
  *
@@ -429,13 +452,15 @@ GCP_iterate_all (GNUNET_CONTAINER_PeerMapIterator iter, void *cls);
 const char *
 GCP_2s (const struct CadetPeer *peer);
 
+
 /**
  * Log all kinds of info about a peer.
  *
  * @param peer Peer.
  */
 void
-GCP_debug (const struct CadetPeer *p, enum GNUNET_ErrorType level);
+GCP_debug (const struct CadetPeer *p,
+           enum GNUNET_ErrorType level);
 
 
 #if 0                           /* keep Emacsens' auto-indent happy */