[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r19016 - gnunet/src/dht
From: |
gnunet |
Subject: |
[GNUnet-SVN] r19016 - gnunet/src/dht |
Date: |
Thu, 5 Jan 2012 21:00:45 +0100 |
Author: bartpolot
Date: 2012-01-05 21:00:45 +0100 (Thu, 05 Jan 2012)
New Revision: 19016
Modified:
gnunet/src/dht/dht_api.c
gnunet/src/dht/gnunet-service-dht_clients.c
Log:
- Fixed some bugs in monitor code
Modified: gnunet/src/dht/dht_api.c
===================================================================
--- gnunet/src/dht/dht_api.c 2012-01-05 18:26:01 UTC (rev 19015)
+++ gnunet/src/dht/dht_api.c 2012-01-05 20:00:45 UTC (rev 19016)
@@ -634,7 +634,11 @@
if (ntohs (msg->type) != GNUNET_MESSAGE_TYPE_DHT_CLIENT_RESULT)
{
if (process_monitor_message (handle, msg) == GNUNET_OK)
+ {
+ GNUNET_CLIENT_receive (handle->client, &service_message_handler, handle,
+ GNUNET_TIME_UNIT_FOREVER_REL);
return;
+ }
GNUNET_break (0);
do_disconnect (handle);
return;
@@ -965,6 +969,7 @@
struct GNUNET_DHT_MonitorMessage *m;
struct PendingMessage *pending;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "monitor start\n");
h = GNUNET_malloc (sizeof (struct GNUNET_DHT_MonitorHandle));
GNUNET_CONTAINER_DLL_insert(handle->monitor_head, handle->monitor_tail, h);
@@ -985,6 +990,11 @@
pending->msg = &m->header;
pending->handle = handle;
pending->free_on_send = GNUNET_YES;
+ m->header.type = htons (GNUNET_MESSAGE_TYPE_DHT_MONITOR_GET);
+ m->header.size = htons (sizeof (struct GNUNET_DHT_MonitorMessage));
+ m->type = htonl(type);
+ if (NULL != key)
+ memcpy (&m->key, key, sizeof(GNUNET_HashCode));
GNUNET_CONTAINER_DLL_insert (handle->pending_head, handle->pending_tail,
pending);
pending->in_pending_queue = GNUNET_YES;
Modified: gnunet/src/dht/gnunet-service-dht_clients.c
===================================================================
--- gnunet/src/dht/gnunet-service-dht_clients.c 2012-01-05 18:26:01 UTC (rev
19015)
+++ gnunet/src/dht/gnunet-service-dht_clients.c 2012-01-05 20:00:45 UTC (rev
19016)
@@ -666,7 +666,9 @@
r->key = GNUNET_malloc (sizeof (GNUNET_HashCode));
memcpy (r->key, &msg->key, sizeof (GNUNET_HashCode));
}
-
+ GNUNET_CONTAINER_DLL_insert (monitor_head, monitor_tail, r);
+ // FIXME add remove somewhere
+ GNUNET_SERVER_receive_done (client, GNUNET_OK);
}
@@ -1061,7 +1063,7 @@
cl_size = 0;
for (m = monitor_head; NULL != m; m = m->next)
{
- if (m->type == type &&
+ if ((GNUNET_BLOCK_TYPE_ANY == m->type || m->type == type) &&
(NULL == m->key ||
memcmp (key, m->key, sizeof(GNUNET_HashCode)) == 0))
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r19016 - gnunet/src/dht,
gnunet <=