[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17057 - gnunet/src/dht
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17057 - gnunet/src/dht |
Date: |
Tue, 27 Sep 2011 15:46:03 +0200 |
Author: grothoff
Date: 2011-09-27 15:46:03 +0200 (Tue, 27 Sep 2011)
New Revision: 17057
Modified:
gnunet/src/dht/dht_api_new.c
Log:
generate STOP message
Modified: gnunet/src/dht/dht_api_new.c
===================================================================
--- gnunet/src/dht/dht_api_new.c 2011-09-27 13:37:30 UTC (rev 17056)
+++ gnunet/src/dht/dht_api_new.c 2011-09-27 13:46:03 UTC (rev 17057)
@@ -735,10 +735,28 @@
{
struct GNUNET_DHT_Handle *handle;
const struct GNUNET_DHT_ClientGetMessage *get_msg;
+ struct GNUNET_DHT_ClientGetStopMessage *stop_msg;
+ struct PendingMessage *pending;
- /* FIXME: send STOP to service! */
handle = get_handle->message->handle;
get_msg = (const struct GNUNET_DHT_ClientGetMessage*)
get_handle->message->msg;
+
+ /* generate STOP */
+ pending = GNUNET_malloc (sizeof (struct PendingMessage) + sizeof (struct
GNUNET_DHT_ClientGetStopMessage));
+ stop_msg = (struct GNUNET_DHT_ClientGetStopMessage *) &pending[1];
+ pending->msg = &stop_msg->header;
+ pending->handle = handle;
+ pending->free_on_send = GNUNET_YES;
+ stop_msg->header.size = htons (sizeof (struct
GNUNET_DHT_ClientGetStopMessage));
+ stop_msg->header.type = htons (GNUNET_MESSAGE_TYPE_DHT_CLIENT_GET_STOP);
+ stop_msg->reserved = htonl (0);
+ stop_msg->unique_id = get_msg->unique_id;
+ stop_msg->key = get_msg->key;
+ GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail,
+ pending);
+ pending->in_pending_queue = GNUNET_YES;
+
+ /* remove 'GET' from active status */
GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multihashmap_remove (handle->active_requests,
&get_msg->key,
get_handle));
@@ -751,6 +769,8 @@
}
GNUNET_free (get_handle->message);
GNUNET_free (get_handle);
+
+ process_pending_messages (handle);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17057 - gnunet/src/dht,
gnunet <=