[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r29006 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r29006 - gnunet/src/mesh |
Date: |
Thu, 5 Sep 2013 06:28:44 +0200 |
Author: bartpolot
Date: 2013-09-05 06:28:44 +0200 (Thu, 05 Sep 2013)
New Revision: 29006
Modified:
gnunet/src/mesh/gnunet-service-mesh-enc.c
Log:
- fix ack'ing
- resend TUNNEL_DESTROY
- explicitly log about faulty routes instead of letting core_api complain
Modified: gnunet/src/mesh/gnunet-service-mesh-enc.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh-enc.c 2013-09-05 03:50:00 UTC (rev
29005)
+++ gnunet/src/mesh/gnunet-service-mesh-enc.c 2013-09-05 04:28:44 UTC (rev
29006)
@@ -3856,35 +3856,35 @@
fwd ? "FWD" : "BCK", c, ch);
if (NULL == c || connection_is_terminal (c, fwd))
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " getting from Channel\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " getting from all connections\n");
buffer = tunnel_get_buffer (NULL == c ? ch->t : c->t, fwd);
}
else
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " getting from Connection\n");
- GNUNET_assert (NULL != c);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " getting from one connection\n");
buffer = connection_get_buffer (c, fwd);
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " buffer available: %u\n", buffer);
- if (NULL == c)
+ if ( (NULL != ch && channel_is_terminal (ch, !fwd)) ||
+ (NULL != c && connection_is_origin (c, fwd)) )
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " sending on all connections\n");
- GNUNET_assert (NULL != ch);
- channel_send_connections_ack (ch, buffer, fwd);
- }
- else if (connection_is_origin (c, fwd))
- {
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " sending on channel...\n");
if (0 < buffer)
{
+ GNUNET_assert (NULL != ch);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " really sending!\n");
- GNUNET_assert (NULL != ch);
send_local_ack (ch, fwd);
}
}
- else
+ else if (NULL == c)
{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " sending on all connections\n");
+ GNUNET_assert (NULL != ch);
+ channel_send_connections_ack (ch, buffer, fwd);
+ }
+ else
+ {
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " sending on connection\n");
connection_send_ack (c, buffer, fwd);
}
@@ -3922,8 +3922,7 @@
/* TODO return? */
}
}
- if (GNUNET_NO == rel->client_ready)
- send_local_ack (ch, fwd);
+ send_ack (NULL, ch, fwd);
}
@@ -4853,6 +4852,7 @@
/* Fill buf */
switch (queue->type)
{
+ case GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY:
case GNUNET_MESSAGE_TYPE_MESH_CONNECTION_DESTROY:
case GNUNET_MESSAGE_TYPE_MESH_CONNECTION_BROKEN:
case GNUNET_MESSAGE_TYPE_MESH_FWD:
@@ -5007,6 +5007,13 @@
GNUNET_break (0);
return;
}
+
+ if (NULL == peer->connections)
+ {
+ /* We are not connected to this peer, ignore request. */
+ GNUNET_break_op (0);
+ return;
+ }
priority = 0;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r29006 - gnunet/src/mesh,
gnunet <=