diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-14 12:25:48 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-14 12:25:48 +0000 |
commit | 02219049255a8612969794f661f3cd576014dc9b (patch) | |
tree | a53b1937740360303b9715ce3551729d9da7cd15 /src/ats/test_ats_api_scheduling.c | |
parent | 8a1d955ccbf2ee62eef41802f3d4b0f71e022c9d (diff) | |
download | gnunet-02219049255a8612969794f661f3cd576014dc9b.tar.gz gnunet-02219049255a8612969794f661f3cd576014dc9b.zip |
Diffstat (limited to 'src/ats/test_ats_api_scheduling.c')
-rw-r--r-- | src/ats/test_ats_api_scheduling.c | 44 |
1 files changed, 39 insertions, 5 deletions
diff --git a/src/ats/test_ats_api_scheduling.c b/src/ats/test_ats_api_scheduling.c index 68026e196..4ed68ba87 100644 --- a/src/ats/test_ats_api_scheduling.c +++ b/src/ats/test_ats_api_scheduling.c | |||
@@ -34,7 +34,7 @@ | |||
34 | #include "gnunet_ats_service.h" | 34 | #include "gnunet_ats_service.h" |
35 | #include "ats.h" | 35 | #include "ats.h" |
36 | 36 | ||
37 | #define VERBOSE GNUNET_EXTRA_LOGGING | 37 | #define VERBOSE GNUNET_YES |
38 | 38 | ||
39 | #define VERBOSE_ARM GNUNET_EXTRA_LOGGING | 39 | #define VERBOSE_ARM GNUNET_EXTRA_LOGGING |
40 | 40 | ||
@@ -46,6 +46,10 @@ static struct GNUNET_ATS_SchedulingHandle *ats; | |||
46 | 46 | ||
47 | struct GNUNET_OS_Process * arm_proc; | 47 | struct GNUNET_OS_Process * arm_proc; |
48 | 48 | ||
49 | struct Address addr; | ||
50 | struct PeerContext p; | ||
51 | struct GNUNET_TRANSPORT_ATS_Information atsi[2]; | ||
52 | |||
49 | static int ret; | 53 | static int ret; |
50 | 54 | ||
51 | struct Address | 55 | struct Address |
@@ -97,6 +101,7 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
97 | static void | 101 | static void |
98 | end () | 102 | end () |
99 | { | 103 | { |
104 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down\n"); | ||
100 | if (die_task != GNUNET_SCHEDULER_NO_TASK) | 105 | if (die_task != GNUNET_SCHEDULER_NO_TASK) |
101 | { | 106 | { |
102 | GNUNET_SCHEDULER_cancel(die_task); | 107 | GNUNET_SCHEDULER_cancel(die_task); |
@@ -132,9 +137,26 @@ address_suggest_cb (void *cls, | |||
132 | uint32_t ats_count) | 137 | uint32_t ats_count) |
133 | 138 | ||
134 | { | 139 | { |
135 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "address_suggest_cb `%s'\n", GNUNET_i2s (peer)); | 140 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS suggests address `%s'\n", GNUNET_i2s (peer)); |
141 | |||
142 | GNUNET_assert (0 == memcmp (peer, &p.id, sizeof (struct GNUNET_PeerIdentity))); | ||
143 | GNUNET_assert (0 == strcmp (plugin_name, addr.plugin)); | ||
144 | GNUNET_assert (plugin_addr_len == addr.addr_len); | ||
145 | GNUNET_assert (0 == memcmp (plugin_addr, addr.plugin, plugin_addr_len)); | ||
146 | GNUNET_assert (addr.session == session); | ||
147 | |||
148 | |||
149 | /* TODO ats merge | ||
150 | GNUNET_assert (ats_count == 2); | ||
151 | GNUNET_assert (atsi[0].type == htons (1)); | ||
152 | GNUNET_assert (atsi[0].type == htons (2)); | ||
153 | GNUNET_assert (atsi[1].type == htons (2)); | ||
154 | GNUNET_assert (atsi[1].type == htons (2)); | ||
155 | */ | ||
156 | |||
157 | ret = 0; | ||
136 | 158 | ||
137 | end (); | 159 | GNUNET_SCHEDULER_add_now(&end, NULL); |
138 | } | 160 | } |
139 | 161 | ||
140 | void | 162 | void |
@@ -153,8 +175,6 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
153 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 175 | const struct GNUNET_CONFIGURATION_Handle *cfg) |
154 | { | 176 | { |
155 | ret = GNUNET_SYSERR; | 177 | ret = GNUNET_SYSERR; |
156 | struct Address addr; | ||
157 | struct PeerContext p; | ||
158 | 178 | ||
159 | die_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT, &end_badly, NULL); | 179 | die_task = GNUNET_SCHEDULER_add_delayed(TIMEOUT, &end_badly, NULL); |
160 | start_arm (cfgfile); | 180 | start_arm (cfgfile); |
@@ -181,6 +201,20 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
181 | 201 | ||
182 | GNUNET_ATS_address_update(ats, &p.id, addr.plugin, addr.addr, addr.addr_len, addr.session, NULL, 0); | 202 | GNUNET_ATS_address_update(ats, &p.id, addr.plugin, addr.addr, addr.addr_len, addr.session, NULL, 0); |
183 | 203 | ||
204 | atsi[0].type = htons (1); | ||
205 | atsi[0].type = htons (1); | ||
206 | |||
207 | GNUNET_ATS_address_update(ats, &p.id, addr.plugin, addr.addr, addr.addr_len, addr.session, atsi, 1); | ||
208 | |||
209 | atsi[0].type = htons (1); | ||
210 | atsi[0].type = htons (2); | ||
211 | |||
212 | atsi[1].type = htons (2); | ||
213 | atsi[1].type = htons (2); | ||
214 | |||
215 | GNUNET_ATS_address_update(ats, &p.id, addr.plugin, addr.addr, addr.addr_len, addr.session, atsi, 2); | ||
216 | |||
217 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting peer `%s'\n", GNUNET_i2s (&p.id)); | ||
184 | GNUNET_ATS_suggest_address(ats, &p.id); | 218 | GNUNET_ATS_suggest_address(ats, &p.id); |
185 | } | 219 | } |
186 | 220 | ||