-static void measure (unsigned long long quota_p1, unsigned long long quota_p2 )
-{
- current_quota_p1 = quota_p1;
- current_quota_p2 = quota_p2;
-#if VERBOSE
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Starting transport level measurement for %u seconds and p1 quota %llu kB/s p2 quota %llu\n", MEASUREMENT_INTERVALL.rel_value / 1000 , current_quota_p1 / 1024, current_quota_p2 / 1024);
-#endif
- GNUNET_TRANSPORT_set_quota (p1.th,
- &p2.id,
- GNUNET_BANDWIDTH_value_init (current_quota_p1 ),
- GNUNET_BANDWIDTH_value_init (current_quota_p1 ),
- GNUNET_TIME_UNIT_FOREVER_REL,
- NULL, NULL);
- GNUNET_TRANSPORT_set_quota (p2.th,
- &p1.id,
- GNUNET_BANDWIDTH_value_init (current_quota_p2),
- GNUNET_BANDWIDTH_value_init (current_quota_p2),
- GNUNET_TIME_UNIT_FOREVER_REL,
- NULL, NULL);
-
- GNUNET_SCHEDULER_cancel (sched, die_task);
- die_task = GNUNET_SCHEDULER_add_delayed (sched,
- TIMEOUT,
- &end_badly,
- NULL);
- if (measurement_counter_task != GNUNET_SCHEDULER_NO_TASK)
- GNUNET_SCHEDULER_cancel (sched, measurement_counter_task);
- measurement_counter_task = GNUNET_SCHEDULER_add_delayed (sched,
- GNUNET_TIME_UNIT_SECONDS,
- &measurement_counter,
- NULL);
- measurement_task = GNUNET_SCHEDULER_add_delayed (sched,
- MEASUREMENT_INTERVALL,
- &measurement_end,
- NULL);
- total_bytes = 0;
- measurement_running = GNUNET_YES;
- start_time = GNUNET_TIME_absolute_get ();
-
- if (transmit_handle != NULL)
- GNUNET_TRANSPORT_notify_transmit_ready_cancel(transmit_handle);
- transmit_handle = GNUNET_TRANSPORT_notify_transmit_ready (p2.th,
- &p1.id,
- get_size (0), 0, SEND_TIMEOUT,
- ¬ify_ready_new,
- NULL);
-}