[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34192 - gnunet/src/dht
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34192 - gnunet/src/dht |
Date: |
Fri, 22 Aug 2014 00:45:13 +0200 |
Author: supriti
Date: 2014-08-22 00:45:13 +0200 (Fri, 22 Aug 2014)
New Revision: 34192
Modified:
gnunet/src/dht/gnunet-service-xdht_neighbours.c
gnunet/src/dht/gnunet_dht_profiler.c
Log:
Free successor_hash_map
Modified: gnunet/src/dht/gnunet-service-xdht_neighbours.c
===================================================================
--- gnunet/src/dht/gnunet-service-xdht_neighbours.c 2014-08-21 21:42:04 UTC
(rev 34191)
+++ gnunet/src/dht/gnunet-service-xdht_neighbours.c 2014-08-21 22:45:13 UTC
(rev 34192)
@@ -3471,7 +3471,7 @@
GNUNET_break_op (0);
return GNUNET_OK;
}
- DEBUG("GET FOR DATA_SIZE = %lu\n",msize);
+
GNUNET_STATISTICS_update (GDS_stats,
gettext_noop
("# Bytes received from other peers"), (int64_t)
msize,
Modified: gnunet/src/dht/gnunet_dht_profiler.c
===================================================================
--- gnunet/src/dht/gnunet_dht_profiler.c 2014-08-21 21:42:04 UTC (rev
34191)
+++ gnunet/src/dht/gnunet_dht_profiler.c 2014-08-21 22:45:13 UTC (rev
34192)
@@ -785,6 +785,17 @@
}
}
+static int
+hashmap_iterate_remove(void *cls,
+ const struct GNUNET_HashCode *key,
+ void *value)
+{
+ struct GNUNET_HashCode *remove_key = key;
+ GNUNET_assert(GNUNET_YES ==
GNUNET_CONTAINER_multihashmap_remove(successor_peer_hashmap, key, value));
+ return GNUNET_YES;
+}
+
+
static unsigned int tries;
/**
@@ -814,8 +825,7 @@
start_val =
(struct GNUNET_HashCode *)
GNUNET_CONTAINER_multihashmap_get(successor_peer_hashmap,
start_key);
- val = GNUNET_new(struct GNUNET_HashCode);
- key = GNUNET_new(struct GNUNET_HashCode);
+
val = start_val;
for (count = 0; count < num_peers; count++)
{
@@ -835,12 +845,20 @@
break;
}
/* If a peer has its own identity as its successor. */
- if (0 == memcmp(&key, &val, sizeof (struct GNUNET_HashCode)))
+ if (0 == memcmp(key, val, sizeof (struct GNUNET_HashCode)))
{
break;
}
}
+ GNUNET_assert(GNUNET_SYSERR !=
+ GNUNET_CONTAINER_multihashmap_iterate (successor_peer_hashmap,
+ hashmap_iterate_remove,
+ NULL));
+
+ successor_peer_hashmap = GNUNET_CONTAINER_multihashmap_create (num_peers,
+ GNUNET_NO);
+
if ((start_val == val) && (count == num_peers))
{
DEBUG("CIRCLE COMPLETED after %u tries", tries);
@@ -849,6 +867,7 @@
//are fill atleast O(log N) and then start with the experiments.
if(GNUNET_SCHEDULER_NO_TASK == successor_stats_task)
start_profiling();
+
return;
}
else
@@ -859,7 +878,6 @@
"Maximum tries %u exceeded while checking successor TOTAL
TRIES %u"
" cirle formation. Exiting\n",
max_searches,tries);
- //FIXME: FREE HASHMAP
if (GNUNET_SCHEDULER_NO_TASK != successor_stats_task)
{
successor_stats_task = GNUNET_SCHEDULER_NO_TASK;
@@ -952,6 +970,8 @@
GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Start collecting statistics...\n");
GNUNET_assert(NULL != testbed_handles);
+ successor_peer_hashmap = GNUNET_CONTAINER_multihashmap_create (num_peers,
+ GNUNET_NO);
successor_stats_op =
GNUNET_TESTBED_get_statistics (num_peers, testbed_handles,
"dht", NULL,
@@ -1014,8 +1034,6 @@
struct Collect_Stat_Context *collect_stat_cls = GNUNET_new(struct
Collect_Stat_Context);
collect_stat_cls->service_connect_ctx = cls;
collect_stat_cls->op = op;
- successor_peer_hashmap = GNUNET_CONTAINER_multihashmap_create (num_peers,
- GNUNET_NO);
successor_stats_task = GNUNET_SCHEDULER_add_delayed (delay,
&collect_stats,
collect_stat_cls);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34192 - gnunet/src/dht,
gnunet <=