aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-01-14 16:49:32 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-01-14 16:49:32 +0000
commit8e47b3a7bff73bf03b5ffaf84b8458cdae20964c (patch)
tree2dd6295ed2b0e09e71384ec2dc31cca5631eed98 /src
parent28809e8a3b181a9587aa12096050838848836bfc (diff)
downloadgnunet-8e47b3a7bff73bf03b5ffaf84b8458cdae20964c.tar.gz
gnunet-8e47b3a7bff73bf03b5ffaf84b8458cdae20964c.zip
fixing dv plugin
Diffstat (limited to 'src')
-rw-r--r--src/dv/plugin_transport_dv.c32
1 files changed, 12 insertions, 20 deletions
diff --git a/src/dv/plugin_transport_dv.c b/src/dv/plugin_transport_dv.c
index 4baabe12e..d3187664a 100644
--- a/src/dv/plugin_transport_dv.c
+++ b/src/dv/plugin_transport_dv.c
@@ -117,6 +117,8 @@ struct Session
117 */ 117 */
118 struct PendingRequest *pr_tail; 118 struct PendingRequest *pr_tail;
119 119
120 struct GNUNET_HELLO_Address *address;
121
120 /** 122 /**
121 * To whom are we talking to. 123 * To whom are we talking to.
122 */ 124 */
@@ -191,10 +193,7 @@ notify_distance_change (struct Session *session)
191 ats.type = htonl ((uint32_t) GNUNET_ATS_QUALITY_NET_DISTANCE); 193 ats.type = htonl ((uint32_t) GNUNET_ATS_QUALITY_NET_DISTANCE);
192 ats.value = htonl (session->distance); 194 ats.value = htonl (session->distance);
193 plugin->env->update_address_metrics (plugin->env->cls, 195 plugin->env->update_address_metrics (plugin->env->cls,
194 &session->sender, 196 session->address, session, &ats, 1);
195 NULL, 0,
196 session,
197 &ats, 1);
198} 197}
199 198
200 199
@@ -224,14 +223,10 @@ unbox_cb (void *cls,
224 ntohs (message->size), 223 ntohs (message->size),
225 GNUNET_i2s (&session->sender)); 224 GNUNET_i2s (&session->sender));
226 225
227 plugin->env->receive (plugin->env->cls, 226 plugin->env->receive (plugin->env->cls, session->address, session,
228 &session->sender, 227 message);
229 message,
230 session, "", 0);
231 plugin->env->update_address_metrics (plugin->env->cls, 228 plugin->env->update_address_metrics (plugin->env->cls,
232 &session->sender, NULL, 229 session->address, session, &ats, 1);
233 0, session,
234 &ats, 1);
235 return GNUNET_OK; 230 return GNUNET_OK;
236} 231}
237 232
@@ -285,13 +280,9 @@ handle_dv_message_received (void *cls,
285 ntohs (msg->type), 280 ntohs (msg->type),
286 ntohs (msg->size), 281 ntohs (msg->size),
287 GNUNET_i2s (sender)); 282 GNUNET_i2s (sender));
288 plugin->env->receive (plugin->env->cls, sender, 283 plugin->env->receive (plugin->env->cls, session->address, session, msg);
289 msg,
290 session, "", 0);
291 plugin->env->update_address_metrics (plugin->env->cls, 284 plugin->env->update_address_metrics (plugin->env->cls,
292 sender, "", 285 session->address, session, &ats, 1);
293 0, session,
294 &ats, 1);
295} 286}
296 287
297 288
@@ -335,6 +326,8 @@ handle_dv_connect (void *cls,
335 } 326 }
336 327
337 session = GNUNET_new (struct Session); 328 session = GNUNET_new (struct Session);
329 session->address = GNUNET_HELLO_address_allocate (peer, PLUGIN_NAME,
330 NULL, 0, GNUNET_HELLO_ADDRESS_INFO_NONE);
338 session->sender = *peer; 331 session->sender = *peer;
339 session->plugin = plugin; 332 session->plugin = plugin;
340 session->distance = distance; 333 session->distance = distance;
@@ -356,9 +349,7 @@ handle_dv_connect (void *cls,
356 ats[1].type = htonl (GNUNET_ATS_NETWORK_TYPE); 349 ats[1].type = htonl (GNUNET_ATS_NETWORK_TYPE);
357 ats[1].value = htonl ((uint32_t) network); 350 ats[1].value = htonl ((uint32_t) network);
358 session->active = GNUNET_YES; 351 session->active = GNUNET_YES;
359 plugin->env->session_start (plugin->env->cls, peer, 352 plugin->env->session_start (plugin->env->cls, session->address,
360 PLUGIN_NAME,
361 NULL, 0,
362 session, ats, 2); 353 session, ats, 2);
363} 354}
364 355
@@ -440,6 +431,7 @@ free_session (struct Session *session)
440 pr->size, 0); 431 pr->size, 0);
441 GNUNET_free (pr); 432 GNUNET_free (pr);
442 } 433 }
434 GNUNET_HELLO_address_free (session->address);
443 GNUNET_free (session); 435 GNUNET_free (session);
444} 436}
445 437