gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r17321 - in gnunet/src: core include


From: gnunet
Subject: [GNUnet-SVN] r17321 - in gnunet/src: core include
Date: Mon, 10 Oct 2011 13:50:42 +0200

Author: grothoff
Date: 2011-10-10 13:50:42 +0200 (Mon, 10 Oct 2011)
New Revision: 17321

Modified:
   gnunet/src/core/gnunet-service-core.h
   gnunet/src/core/gnunet-service-core_clients.c
   gnunet/src/include/gnunet_core_service.h
Log:
doku

Modified: gnunet/src/core/gnunet-service-core.h
===================================================================
--- gnunet/src/core/gnunet-service-core.h       2011-10-10 11:42:21 UTC (rev 
17320)
+++ gnunet/src/core/gnunet-service-core.h       2011-10-10 11:50:42 UTC (rev 
17321)
@@ -83,6 +83,11 @@
   int was_solicited;
 
   /**
+   * Is corking allowed (set only once we have the real message).
+   */
+  int cork;
+
+  /**
    * How many bytes does the client intend to send?
    */
   uint16_t msize;

Modified: gnunet/src/core/gnunet-service-core_clients.c
===================================================================
--- gnunet/src/core/gnunet-service-core_clients.c       2011-10-10 11:42:21 UTC 
(rev 17320)
+++ gnunet/src/core/gnunet-service-core_clients.c       2011-10-10 11:50:42 UTC 
(rev 17321)
@@ -397,6 +397,7 @@
                 GNUNET_CONTAINER_multihashmap_remove (c->requests, 
                                                       &sm->peer.hashPubKey,
                                                       car));
+  car->cork = ntohs (sm->cork);
   GNUNET_SERVER_mst_receive (client_mst,
                             car, 
                             (const char*) &sm[1], msize,
@@ -441,7 +442,7 @@
                                 GNUNET_CORE_OPTION_SEND_HDR_INBOUND | 
GNUNET_CORE_OPTION_SEND_HDR_OUTBOUND);  
   }
   else
-    GSC_SESSIONS_transmit (car, message, GNUNET_NO /* FIXME: get cork flag 
form 'struct SendMessage'! */);
+    GSC_SESSIONS_transmit (car, message, car->cork);
 }
 
 

Modified: gnunet/src/include/gnunet_core_service.h
===================================================================
--- gnunet/src/include/gnunet_core_service.h    2011-10-10 11:42:21 UTC (rev 
17320)
+++ gnunet/src/include/gnunet_core_service.h    2011-10-10 11:50:42 UTC (rev 
17321)
@@ -211,40 +211,6 @@
 
 
 /**
- * Iterate over all connected peers.  Calls peer_cb with each
- * connected peer, and then once with NULL to indicate that all peers
- * have been handled.
- *
- * @param cfg configuration handle
- * @param peer_cb function to call with the peer information
- * @param cb_cls closure for peer_cb
- * @return GNUNET_OK on success, GNUNET_SYSERR on errors
- */
-int
-GNUNET_CORE_iterate_peers (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                           GNUNET_CORE_ConnectEventHandler peer_cb,
-                           void *cb_cls);
-
-
-/**
- * Check if the given peer is currently connected and return information
- * about the session if so.
- *
- * @param cfg configuration to use
- * @param peer the specific peer to check for
- * @param peer_cb function to call with the peer information
- * @param cb_cls closure for peer_cb
- *
- * @return GNUNET_OK if iterating, GNUNET_SYSERR on error
- */
-int
-GNUNET_CORE_is_peer_connected (const struct GNUNET_CONFIGURATION_Handle *cfg,
-                               struct GNUNET_PeerIdentity *peer,
-                               GNUNET_CORE_ConnectEventHandler peer_cb,
-                               void *cb_cls);
-
-
-/**
  * Handle for a transmission request.
  */
 struct GNUNET_CORE_TransmitHandle;
@@ -298,6 +264,56 @@
                                           *th);
 
 
+
+
+
+/**
+ * Iterate over all connected peers.  Calls peer_cb with each
+ * connected peer, and then once with NULL to indicate that all peers
+ * have been handled.  Normal users of the CORE API are not expected
+ * to use this function.  It is different in that it truly lists
+ * all connections, not just those relevant to the application.  This
+ * function is used by special applications for diagnostics.  This
+ * function is NOT part of the 'versioned', 'official' API.
+ *
+ * FIXME: we should probably make it possible to 'cancel' the
+ * operation...
+ *
+ * @param cfg configuration handle
+ * @param peer_cb function to call with the peer information
+ * @param cb_cls closure for peer_cb
+ * @return GNUNET_OK on success, GNUNET_SYSERR on errors
+ */
+int
+GNUNET_CORE_iterate_peers (const struct GNUNET_CONFIGURATION_Handle *cfg,
+                           GNUNET_CORE_ConnectEventHandler peer_cb,
+                           void *cb_cls);
+
+
+/**
+ * Check if the given peer is currently connected and return information
+ * about the session if so.  This function is for special cirumstances
+ * (GNUNET_TESTING uses it), normal users of the CORE API are
+ * expected to track which peers are connected based on the
+ * connect/disconnect callbacks from GNUNET_CORE_connect.  This
+ * function is NOT part of the 'versioned', 'official' API.
+ *
+ * FIXME: we should probably make it possible to 'cancel' the
+ * operation...
+ *
+ * @param cfg configuration to use
+ * @param peer the specific peer to check for
+ * @param peer_cb function to call with the peer information
+ * @param cb_cls closure for peer_cb
+ * @return GNUNET_OK if iterating, GNUNET_SYSERR on error
+ */
+int
+GNUNET_CORE_is_peer_connected (const struct GNUNET_CONFIGURATION_Handle *cfg,
+                               struct GNUNET_PeerIdentity *peer,
+                               GNUNET_CORE_ConnectEventHandler peer_cb,
+                               void *cb_cls);
+
+
 #if 0                           /* keep Emacsens' auto-indent happy */
 {
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]