timestamps
authorNathan S. Evans <evans@in.tum.de>
Wed, 27 Jul 2011 12:48:54 +0000 (12:48 +0000)
committerNathan S. Evans <evans@in.tum.de>
Wed, 27 Jul 2011 12:48:54 +0000 (12:48 +0000)
src/nse/gnunet-service-nse.c
src/nse/nse-profiler.c
src/nse/nse.h
src/nse/nse_api.c

index a926c1f2317ced496445d5035e4799f8c0b36cc8..04ddf504116c9798402b6f32ffb8e8293fcf8dab 100644 (file)
@@ -332,6 +332,7 @@ setup_estimate_message (struct GNUNET_NSE_ClientMessage *em)
   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->std_deviation = std_dev;
   GNUNET_STATISTICS_set (stats, 
index 3b7371ccc472115b807634d254e27a5698a095eb..8ca1b8ed940215bdc231ec472674c4ae6e2d8c60 100644 (file)
@@ -197,13 +197,14 @@ shutdown_task (void *cls,
  * Callback to call when network size estimate is updated.
  *
  * @param cls closure
+ * @param timestamp server timestamp
  * @param estimate the value of the current network size estimate
  * @param std_dev standard deviation (rounded down to nearest integer)
  *                of the size estimation values seen
  *
  */
 static void
-handle_estimate (void *cls, double estimate, double std_dev)
+handle_estimate (void *cls, struct GNUNET_TIME_AbsoluteNBO timestamp, double estimate, double std_dev)
 {
   struct NSEPeer *peer = cls;
   char *output_buffer;
@@ -212,9 +213,10 @@ handle_estimate (void *cls, double estimate, double std_dev)
   if (output_file != NULL)
     {
       size = GNUNET_asprintf(&output_buffer, 
-                            "%s %u %f %f %f\n",
+                            "%s %u %llu %f %f %f\n",
                             GNUNET_i2s(&peer->daemon->id),
                             peers_running,
+                            GNUNET_TIME_absolute_ntoh(timestamp).abs_value,
                             pow(2, estimate),
                             estimate, 
                             std_dev);
index 24001e8cc5bbde0eeb93c280dd85819c62e8f446..45748b1f38b29bd573c4bf8cb8fd50c61babe442 100644 (file)
@@ -54,6 +54,11 @@ struct GNUNET_NSE_ClientMessage
    */
   uint32_t reserved;
 
+  /**
+   * Timestamp at which the server received the message.
+   */
+  struct GNUNET_TIME_AbsoluteNBO timestamp;
+
   /**
    * The current estimated network size.
    */
index a50cd5a4174a917a111759528a41643bcbfbe08d..c986b7ff492871b64a335972601ef00545c0d5e6 100644 (file)
@@ -122,6 +122,7 @@ message_handler (void *cls,
     }
   client_msg = (const struct GNUNET_NSE_ClientMessage *)msg;
   h->recv_cb (h->recv_cb_cls, 
+              client_msg->timestamp,
              client_msg->size_estimate,
               client_msg->std_deviation);
   GNUNET_CLIENT_receive (h->client,