[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r25374 - gnunet/src/ats
From: |
gnunet |
Subject: |
[GNUnet-SVN] r25374 - gnunet/src/ats |
Date: |
Mon, 10 Dec 2012 17:22:21 +0100 |
Author: wachs
Date: 2012-12-10 17:22:21 +0100 (Mon, 10 Dec 2012)
New Revision: 25374
Modified:
gnunet/src/ats/test_ats_api_common.h
gnunet/src/ats/test_ats_api_scheduling_add_address.c
gnunet/src/ats/test_ats_api_scheduling_block_and_reset.c
gnunet/src/ats/test_ats_api_scheduling_destroy_address.c
gnunet/src/ats/test_ats_api_scheduling_destroy_session.c
gnunet/src/ats/test_ats_api_scheduling_update_address.c
gnunet/src/ats/test_ats_simplistic.c
Log:
changes
Modified: gnunet/src/ats/test_ats_api_common.h
===================================================================
--- gnunet/src/ats/test_ats_api_common.h 2012-12-10 15:52:05 UTC (rev
25373)
+++ gnunet/src/ats/test_ats_api_common.h 2012-12-10 16:22:21 UTC (rev
25374)
@@ -26,7 +26,8 @@
#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 30)
-#define PEERID
"2AK99KD8RM9UA9LC3QKA0IQ5UBFC0FBB50EBGCFQT8448DGGACNAC4CJQDD1CPFS494O41U88DJD1FLIG8VA5CQR9IN4L96GP104MVO"
+#define PEERID0
"2AK99KD8RM9UA9LC3QKA0IQ5UBFC0FBB50EBGCFQT8448DGGACNAC4CJQDD1CPFS494O41U88DJD1FLIG8VA5CQR9IN4L96GP104MVO"
+#define PEERID1
"5ED7I0AR3MSTAL7FQN04S22E0EQ3CR9RLASCDLVMM1BNFPUPTCT46DLKNJ4DACASJ6U0DR5J8S3R2UJL49682JS7MOVRAB8P8A4PJH0"
struct Test_Address
{
@@ -47,6 +48,10 @@
struct GNUNET_PeerIdentity id;
struct Test_Address *addr;
+
+ unsigned long long bw_out_assigned;
+
+ unsigned long long bw_in_assigned;
};
/* end of file test_ats_api_common.h */
Modified: gnunet/src/ats/test_ats_api_scheduling_add_address.c
===================================================================
--- gnunet/src/ats/test_ats_api_scheduling_add_address.c 2012-12-10
15:52:05 UTC (rev 25373)
+++ gnunet/src/ats/test_ats_api_scheduling_add_address.c 2012-12-10
16:22:21 UTC (rev 25374)
@@ -246,7 +246,7 @@
}
/* Set up peer */
- if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID,
&p.id.hashPubKey))
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0,
&p.id.hashPubKey))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
ret = GNUNET_SYSERR;
@@ -254,7 +254,7 @@
return;
}
- GNUNET_assert (0 == strcmp (PEERID, GNUNET_i2s_full (&p.id)));
+ GNUNET_assert (0 == strcmp (PEERID0, GNUNET_i2s_full (&p.id)));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n",
GNUNET_i2s_full(&p.id));
Modified: gnunet/src/ats/test_ats_api_scheduling_block_and_reset.c
===================================================================
--- gnunet/src/ats/test_ats_api_scheduling_block_and_reset.c 2012-12-10
15:52:05 UTC (rev 25373)
+++ gnunet/src/ats/test_ats_api_scheduling_block_and_reset.c 2012-12-10
16:22:21 UTC (rev 25374)
@@ -385,14 +385,14 @@
}
/* Set up peer */
- if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID,
&p.id.hashPubKey))
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0,
&p.id.hashPubKey))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
ret = GNUNET_SYSERR;
end ();
return;
}
- GNUNET_assert (0 == strcmp (PEERID, GNUNET_i2s_full (&p.id)));
+ GNUNET_assert (0 == strcmp (PEERID0, GNUNET_i2s_full (&p.id)));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n",
GNUNET_i2s_full(&p.id));
Modified: gnunet/src/ats/test_ats_api_scheduling_destroy_address.c
===================================================================
--- gnunet/src/ats/test_ats_api_scheduling_destroy_address.c 2012-12-10
15:52:05 UTC (rev 25373)
+++ gnunet/src/ats/test_ats_api_scheduling_destroy_address.c 2012-12-10
16:22:21 UTC (rev 25374)
@@ -217,7 +217,7 @@
}
/* Set up peer */
- if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID,
&p.id.hashPubKey))
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0,
&p.id.hashPubKey))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
ret = GNUNET_SYSERR;
Modified: gnunet/src/ats/test_ats_api_scheduling_destroy_session.c
===================================================================
--- gnunet/src/ats/test_ats_api_scheduling_destroy_session.c 2012-12-10
15:52:05 UTC (rev 25373)
+++ gnunet/src/ats/test_ats_api_scheduling_destroy_session.c 2012-12-10
16:22:21 UTC (rev 25374)
@@ -251,7 +251,7 @@
}
/* Set up peer */
- if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID,
&p.id.hashPubKey))
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0,
&p.id.hashPubKey))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
ret = GNUNET_SYSERR;
Modified: gnunet/src/ats/test_ats_api_scheduling_update_address.c
===================================================================
--- gnunet/src/ats/test_ats_api_scheduling_update_address.c 2012-12-10
15:52:05 UTC (rev 25373)
+++ gnunet/src/ats/test_ats_api_scheduling_update_address.c 2012-12-10
16:22:21 UTC (rev 25374)
@@ -293,7 +293,7 @@
}
/* Set up peer */
- if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID,
&p.id.hashPubKey))
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0,
&p.id.hashPubKey))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
ret = GNUNET_SYSERR;
@@ -301,7 +301,7 @@
return;
}
- GNUNET_assert (0 == strcmp (PEERID, GNUNET_i2s_full (&p.id)));
+ GNUNET_assert (0 == strcmp (PEERID0, GNUNET_i2s_full (&p.id)));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n",
GNUNET_i2s_full(&p.id));
Modified: gnunet/src/ats/test_ats_simplistic.c
===================================================================
--- gnunet/src/ats/test_ats_simplistic.c 2012-12-10 15:52:05 UTC (rev
25373)
+++ gnunet/src/ats/test_ats_simplistic.c 2012-12-10 16:22:21 UTC (rev
25374)
@@ -36,6 +36,8 @@
#include "ats.h"
#include "test_ats_api_common.h"
+#define DEBUG_ATS_INFO GNUNET_NO
+
static GNUNET_SCHEDULER_TaskIdentifier die_task;
/**
@@ -56,8 +58,9 @@
/**
* Test peer
*/
-static struct PeerContext p;
+static struct PeerContext p[2];
+
/**
* HELLO address
*/
@@ -189,22 +192,28 @@
type2 = ntohl(ats_should[c_i].type);
if (type1 == type2)
{
+#if DEBUG_ATS_INFO
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS type `%s'\n",
prop[type1]);
+#endif
val1 = ntohl(ats_is[c_o].value);
val2 = ntohl(ats_should[c_i].value);
if (val1 != val2)
{
+#if DEBUG_ATS_INFO
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "ATS value `%s' not
equal: %u != %u\n",
prop[type1],
val1, val2);
+#endif
res = GNUNET_SYSERR;
}
else
{
+#if DEBUG_ATS_INFO
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS value `%s' equal: %u
== %u\n",
prop[type1],
val1, val2);
+#endif
}
}
}
@@ -220,50 +229,144 @@
const struct GNUNET_ATS_Information *atsi,
uint32_t ats_count)
{
- if (GNUNET_OK == compare_addresses (address, session,
&test_hello_address[0], test_session[0]))
+ static int stage = 0;
+ unsigned int bw_in = ntohl(bandwidth_in.value__);
+ unsigned int bw_out = ntohl(bandwidth_out.value__);
+ if (0 == stage)
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with correct
address `%s'\n",
- GNUNET_i2s (&address->peer));
- ret = 0;
- }
- else
- {
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with invalid
address `%s'\n",
- GNUNET_i2s (&address->peer));
+ if (GNUNET_OK == compare_addresses (address, session,
&test_hello_address[0], test_session[0]))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with correct
address `%s'\n",
+ GNUNET_i2s (&address->peer));
+ ret = 0;
+ }
+ else
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with invalid
address `%s'\n",
+ GNUNET_i2s (&address->peer));
+ ret = 1;
+ }
+
+ if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info,
test_ats_count))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 0: Callback with incorrect
ats info \n");
ret = 1;
- }
+ }
- if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 0: Callback with incorrect ats
info \n");
- ret = 1;
- }
+ if (bw_in > wan_quota_in)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN inbound quota %u
bigger than allowed quota %llu \n",
+ bw_in, wan_quota_in);
+ ret = 1;
+ }
+ else
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Suggested WAN inbound quota %u,
allowed quota %llu \n",
+ bw_in, wan_quota_in);
- if (ntohl(bandwidth_in.value__) > wan_quota_in)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN inbound quota %u
bigger than allowed quota %llu \n",
- (unsigned int) ntohl(bandwidth_in.value__), wan_quota_in);
- ret = 1;
+ if (bw_out > wan_quota_out)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN outbound quota %u
bigger than allowed quota %llu \n",
+ bw_out, wan_quota_out);
+ ret = 1;
+ }
+ else
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Suggested WAN outbound quota %u,
allowed quota %llu \n",
+ bw_out, wan_quota_out);
+
+ if (1 == ret)
+ {
+ GNUNET_ATS_suggest_address_cancel (sched_ats, &p[0].id);
+ GNUNET_SCHEDULER_add_now (&end, NULL);
+ return;
+ }
+ p[0].bw_out_assigned = bw_out;
+ p[0].bw_in_assigned = bw_in;
+ stage ++;
+
+ /* Add a 2nd address */
+ /* Prepare ATS Information */
+ test_ats_info[0].type = htonl (GNUNET_ATS_NETWORK_TYPE);
+ test_ats_info[0].value = htonl(GNUNET_ATS_NET_WAN);
+ test_ats_info[1].type = htonl (GNUNET_ATS_QUALITY_NET_DISTANCE);
+ test_ats_info[1].value = htonl(1);
+ test_ats_count = 2;
+
+ /* Adding address with session */
+ test_session[1] = &test_addr[1];
+ create_test_address (&test_addr[1], "test1", test_session[1], "test1",
strlen ("test1") + 1);
+ test_hello_address[1].peer = p[1].id;
+ test_hello_address[1].transport_name = test_addr[1].plugin;
+ test_hello_address[1].address = test_addr[1].addr;
+ test_hello_address[1].address_length = test_addr[1].addr_len;
+ GNUNET_ATS_address_add (sched_ats, &test_hello_address[1],
test_session[1], test_ats_info, test_ats_count);
}
- else
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Suggested WAN inbound quota %u,
allowed quota %llu \n",
- (unsigned int) ntohl(bandwidth_in.value__), wan_quota_in);
-
- if (ntohl(bandwidth_out.value__) > wan_quota_out)
+ if (1 == stage)
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN outbound quota %u
bigger than allowed quota %llu \n",
- (unsigned int) ntohl(bandwidth_out.value__), wan_quota_out);
- ret = 1;
- }
- else
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Suggested WAN outbound quota %u,
allowed quota %llu \n",
- (unsigned int) ntohl(bandwidth_out.value__), wan_quota_out);
+ /* Expecting callback for address[0] with updated quota and no callback
for address[1]*/
+ if (GNUNET_OK == compare_addresses (address, session,
&test_hello_address[0], test_session[0]))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 1: Callback with correct
address `%s'\n",
+ GNUNET_i2s (&address->peer));
+ ret = 0;
+ }
+ else
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 1: Callback with invalid
address `%s'\n",
+ GNUNET_i2s (&address->peer));
+ ret = 1;
+ }
+ if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info,
test_ats_count))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 1: Callback with incorrect
ats info \n");
+ ret = 1;
+ }
+ if (bw_in > wan_quota_in)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN inbound quota %u
bigger than allowed quota %llu \n",
+ bw_in, wan_quota_in);
+ ret = 1;
+ }
+ else if (p[0].bw_in_assigned > bw_in)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN inbound quota %u
bigger than last quota %llu \n",
+ bw_in, p[0].bw_in_assigned);
+ ret = 1;
+ }
+ else
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Suggested WAN inbound quota %u,
allowed quota %llu \n",
+ bw_in, wan_quota_in);
+ if (bw_out > wan_quota_out)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN outbound quota
%u bigger than allowed quota %llu \n",
+ bw_out, wan_quota_out);
+ ret = 1;
+ }
+ else if (p[0].bw_out_assigned > bw_out)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Suggested WAN inbound quota %u
bigger than last quota %llu \n",
+ bw_out, p[0].bw_out_assigned);
+ ret = 1;
+ }
+ else
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Suggested WAN outbound quota %u,
allowed quota %llu \n",
+ bw_out, wan_quota_out);
- GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
- GNUNET_SCHEDULER_add_now (&end, NULL);
+ if (1 == ret)
+ {
+ GNUNET_ATS_suggest_address_cancel (sched_ats, &p[1].id);
+ GNUNET_SCHEDULER_add_now (&end, NULL);
+ return;
+ }
+ stage ++;
+
+ GNUNET_ATS_suggest_address_cancel (sched_ats, &p[1].id);
+ GNUNET_SCHEDULER_add_now (&end, NULL);
+ return;
+ }
+
}
static void
@@ -320,8 +423,8 @@
return;
}
- /* Set up peer */
- if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID,
&p.id.hashPubKey))
+ /* Set up peer 0 */
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID0,
&p[0].id.hashPubKey))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
ret = GNUNET_SYSERR;
@@ -329,11 +432,25 @@
return;
}
- GNUNET_assert (0 == strcmp (PEERID, GNUNET_i2s_full (&p.id)));
+ GNUNET_assert (0 == strcmp (PEERID0, GNUNET_i2s_full (&p[0].id)));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n",
- GNUNET_i2s(&p.id));
+ GNUNET_i2s(&p[0].id));
+ /* Set up peer 1*/
+ if (GNUNET_SYSERR == GNUNET_CRYPTO_hash_from_string(PEERID1,
&p[1].id.hashPubKey))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Could not setup peer!\n");
+ ret = GNUNET_SYSERR;
+ end ();
+ return;
+ }
+
+ GNUNET_assert (0 == strcmp (PEERID1, GNUNET_i2s_full (&p[1].id)));
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Created peer `%s'\n",
+ GNUNET_i2s(&p[1].id));
+
/* Prepare ATS Information */
test_ats_info[0].type = htonl (GNUNET_ATS_NETWORK_TYPE);
test_ats_info[0].value = htonl(GNUNET_ATS_NET_WAN);
@@ -341,16 +458,16 @@
test_ats_info[1].value = htonl(1);
test_ats_count = 2;
- /* Adding address without session */
+ /* Adding address with session */
test_session[0] = &test_addr[0];
- create_test_address (&test_addr[0], "test", test_session, "test", strlen
("test") + 1);
- test_hello_address[0].peer = p.id;
+ create_test_address (&test_addr[0], "test0", test_session[0], "test0",
strlen ("test0") + 1);
+ test_hello_address[0].peer = p[0].id;
test_hello_address[0].transport_name = test_addr[0].plugin;
test_hello_address[0].address = test_addr[0].addr;
test_hello_address[0].address_length = test_addr[0].addr_len;
GNUNET_ATS_address_add (sched_ats, &test_hello_address[0], test_session[0],
test_ats_info, test_ats_count);
- GNUNET_ATS_suggest_address (sched_ats, &p.id);
+ GNUNET_ATS_suggest_address (sched_ats, &p[0].id);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r25374 - gnunet/src/ats,
gnunet <=