[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17321 - in gnunet/src: core include,
gnunet <=