aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesh/gnunet-service-mesh.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesh/gnunet-service-mesh.c b/src/mesh/gnunet-service-mesh.c
index 420b9a1cc..67c50d304 100644
--- a/src/mesh/gnunet-service-mesh.c
+++ b/src/mesh/gnunet-service-mesh.c
@@ -3317,6 +3317,7 @@ tunnel_get_ack (struct MeshTunnel *t)
3317 3317
3318/** 3318/**
3319 * Send an ACK informing the predecessor about the available buffer space. 3319 * Send an ACK informing the predecessor about the available buffer space.
3320 * In case there is no predecessor, inform the owning client.
3320 * If buffering is off, send only on behalf of children or self if endpoint. 3321 * If buffering is off, send only on behalf of children or self if endpoint.
3321 * If buffering is on, send when sent to children and buffer space is free. 3322 * If buffering is on, send when sent to children and buffer space is free.
3322 * 3323 *
@@ -3329,6 +3330,11 @@ tunnel_send_ack (struct MeshTunnel *t, uint16_t type)
3329 struct GNUNET_PeerIdentity id; 3330 struct GNUNET_PeerIdentity id;
3330 uint32_t ack; 3331 uint32_t ack;
3331 3332
3333 if (NULL != t->owner)
3334 {
3335 send_client_tunnel_ack (t->owner, t);
3336 return;
3337 }
3332 /* Is it after unicast / multicast retransmission? */ 3338 /* Is it after unicast / multicast retransmission? */
3333 if (GNUNET_MESSAGE_TYPE_MESH_ACK != type) 3339 if (GNUNET_MESSAGE_TYPE_MESH_ACK != type)
3334 { 3340 {
@@ -6261,7 +6267,6 @@ handle_local_unicast (void *cls, struct GNUNET_SERVER_Client *client,
6261 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 6267 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
6262 " calling generic handler...\n"); 6268 " calling generic handler...\n");
6263 handle_mesh_data_unicast (NULL, &my_full_id, &copy->header, NULL, 0); 6269 handle_mesh_data_unicast (NULL, &my_full_id, &copy->header, NULL, 0);
6264 send_client_tunnel_ack (t->owner, t);
6265 } 6270 }
6266 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "receive done OK\n"); 6271 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "receive done OK\n");
6267 GNUNET_SERVER_receive_done (client, GNUNET_OK); 6272 GNUNET_SERVER_receive_done (client, GNUNET_OK);