diff options
-rw-r--r-- | src/mesh/gnunet-service-mesh.c | 7 |
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, ©->header, NULL, 0); | 6269 | handle_mesh_data_unicast (NULL, &my_full_id, ©->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); |