[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17231 - gnunet/src/nse
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17231 - gnunet/src/nse |
Date: |
Wed, 5 Oct 2011 21:55:20 +0200 |
Author: grothoff
Date: 2011-10-05 21:55:20 +0200 (Wed, 05 Oct 2011)
New Revision: 17231
Modified:
gnunet/src/nse/gnunet-service-nse.c
gnunet/src/nse/nse_api.c
Log:
fix correction according to paper, minimum NSE should be our neighour set
Modified: gnunet/src/nse/gnunet-service-nse.c
===================================================================
--- gnunet/src/nse/gnunet-service-nse.c 2011-10-05 19:54:57 UTC (rev 17230)
+++ gnunet/src/nse/gnunet-service-nse.c 2011-10-05 19:55:20 UTC (rev 17231)
@@ -308,6 +308,7 @@
double q;
double r;
double temp;
+ double nsize;
/* Weighted incremental algorithm for stddev according to West (1979) */
mean = 0.0;
@@ -333,12 +334,15 @@
std_dev = sqrt (variance);
current_std_dev = std_dev;
current_size_estimate = mean;
-
+
em->header.size = htons (sizeof (struct GNUNET_NSE_ClientMessage));
em->header.type = htons (GNUNET_MESSAGE_TYPE_NSE_ESTIMATE);
em->reserved = htonl (0);
em->timestamp = GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get ());
- em->size_estimate = mean - 1.0 / 3.0;
+ em->size_estimate = mean - 0.332747;
+ nsize = log2 (GNUNET_CONTAINER_multihashmap_size (peers) + 1);
+ if (em->size_estimate < nsize)
+ em->size_estimate = nsize;
em->std_deviation = std_dev;
GNUNET_STATISTICS_set (stats, "# nodes in the network (estimate)",
(uint64_t) pow (2, mean - 1.0 / 3.0), GNUNET_NO);
Modified: gnunet/src/nse/nse_api.c
===================================================================
--- gnunet/src/nse/nse_api.c 2011-10-05 19:54:57 UTC (rev 17230)
+++ gnunet/src/nse/nse_api.c 2011-10-05 19:55:20 UTC (rev 17231)
@@ -119,7 +119,8 @@
}
client_msg = (const struct GNUNET_NSE_ClientMessage *) msg;
h->recv_cb (h->recv_cb_cls, GNUNET_TIME_absolute_ntoh
(client_msg->timestamp),
- client_msg->size_estimate, client_msg->std_deviation);
+ client_msg->size_estimate,
+ client_msg->std_deviation);
GNUNET_CLIENT_receive (h->client, &message_handler, h,
GNUNET_TIME_UNIT_FOREVER_REL);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17231 - gnunet/src/nse,
gnunet <=