[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r32135 - gnunet/src/ats-tests
From: |
gnunet |
Subject: |
[GNUnet-SVN] r32135 - gnunet/src/ats-tests |
Date: |
Fri, 31 Jan 2014 14:06:12 +0100 |
Author: wachs
Date: 2014-01-31 14:06:12 +0100 (Fri, 31 Jan 2014)
New Revision: 32135
Modified:
gnunet/src/ats-tests/ats-testing-traffic.c
gnunet/src/ats-tests/ats-testing.h
gnunet/src/ats-tests/gnunet-ats-sim.c
Log:
constant traffic generator
Modified: gnunet/src/ats-tests/ats-testing-traffic.c
===================================================================
--- gnunet/src/ats-tests/ats-testing-traffic.c 2014-01-31 12:33:43 UTC (rev
32134)
+++ gnunet/src/ats-tests/ats-testing-traffic.c 2014-01-31 13:06:12 UTC (rev
32135)
@@ -32,6 +32,28 @@
extern struct GNUNET_ATS_TEST_Topology *top;
+static struct GNUNET_TIME_Relative
+get_delay (struct TrafficGenerator *tg)
+{
+ struct GNUNET_TIME_Relative delay;
+ delay.rel_value_us = 0;
+
+ switch (tg->type) {
+ case GNUNET_ATS_TEST_TG_CONSTANT:
+ if (UINT32_MAX == tg->rate)
+ delay.rel_value_us = 0;
+ else if (tg->rate <= TEST_MESSAGE_SIZE)
+ delay.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us);
+ else
+ delay.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us /
(tg->rate / TEST_MESSAGE_SIZE));
+ break;
+ default:
+ return delay;
+ break;
+ }
+ return delay;
+}
+
static size_t
send_ping_ready_cb (void *cls, size_t size, void *buf)
{
@@ -86,7 +108,8 @@
GNUNET_break (0);
return TEST_MESSAGE_SIZE;
}
- p->tg->next_ping_transmission =
GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), p->tg->delta);
+ p->tg->next_ping_transmission =
GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
+ get_delay (p->tg));
return TEST_MESSAGE_SIZE;
}
@@ -209,15 +232,16 @@
}
}
+
/**
* Generate between the source master and the partner and send traffic with a
* maximum rate.
*
*/
-
struct TrafficGenerator *
GNUNET_ATS_TEST_generate_traffic_start (struct BenchmarkPeer *src,
struct BenchmarkPartner *dest,
+ enum TrafficGeneratorType type,
unsigned int rate,
struct GNUNET_TIME_Relative duration)
{
@@ -232,15 +256,10 @@
tg = GNUNET_new (struct TrafficGenerator);
GNUNET_CONTAINER_DLL_insert (tg_head, tg_tail, tg);
+ tg->type = type;
tg->src = src;
tg->dest = dest;
tg->rate = rate;
- if (UINT32_MAX == rate)
- tg->delta.rel_value_us = 0;
- else if (rate <= TEST_MESSAGE_SIZE)
- tg->delta.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us);
- else
- tg->delta.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us / (rate /
TEST_MESSAGE_SIZE));
tg->next_ping_transmission = GNUNET_TIME_UNIT_FOREVER_ABS;
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
Modified: gnunet/src/ats-tests/ats-testing.h
===================================================================
--- gnunet/src/ats-tests/ats-testing.h 2014-01-31 12:33:43 UTC (rev 32134)
+++ gnunet/src/ats-tests/ats-testing.h 2014-01-31 13:06:12 UTC (rev 32135)
@@ -56,7 +56,15 @@
struct LoggingHandle;
+enum TrafficGeneratorType
+{
+ GNUNET_ATS_TEST_LINEAR,
+ GNUNET_ATS_TEST_TG_CONSTANT,
+ GNUNET_ATS_TEST_RANDOM,
+ GNUNET_ATS_TEST_SINUS
+};
+
/**
* Callback to call when topology setup is completed
*
@@ -215,6 +223,8 @@
struct TrafficGenerator *prev;
struct TrafficGenerator *next;
+ enum TrafficGeneratorType type;
+
struct BenchmarkPeer *src;
struct BenchmarkPartner *dest;
unsigned int rate;
@@ -529,6 +539,7 @@
struct TrafficGenerator *
GNUNET_ATS_TEST_generate_traffic_start (struct BenchmarkPeer *src,
struct BenchmarkPartner *dest,
+ enum TrafficGeneratorType type,
unsigned int rate,
struct GNUNET_TIME_Relative duration);
Modified: gnunet/src/ats-tests/gnunet-ats-sim.c
===================================================================
--- gnunet/src/ats-tests/gnunet-ats-sim.c 2014-01-31 12:33:43 UTC (rev
32134)
+++ gnunet/src/ats-tests/gnunet-ats-sim.c 2014-01-31 13:06:12 UTC (rev
32135)
@@ -210,6 +210,7 @@
/* Generate maximum traffic to all peers */
GNUNET_ATS_TEST_generate_traffic_start (&masters[c_m],
&masters[c_m].partners[c_s],
+ GNUNET_ATS_TEST_TG_CONSTANT,
10000,
GNUNET_TIME_UNIT_FOREVER_REL);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32135 - gnunet/src/ats-tests,
gnunet <=