- debug
[oweals/gnunet.git] / src / mesh / gnunet-service-mesh_channel.c
index 7ee1250207067dc18f10f58bd953e007d43c0eae..b02da1abac9e62d6d4ea99cda958ccf9169c8c44 100644 (file)
@@ -464,11 +464,8 @@ send_client_ack (struct MeshChannel *ch, int fwd)
     GNUNET_break (0);
     return;
   }
-  if (GNUNET_YES == rel->client_ready)
-    return;
 
   GML_send_ack (fwd ? ch->root : ch->dest, fwd ? ch->lid_root : ch->lid_dest);
-  rel->client_ready = GNUNET_YES;
 }
 
 
@@ -724,6 +721,7 @@ channel_confirm (struct MeshChannel *ch, int fwd)
   ch->state = MESH_CHANNEL_READY;
 
   rel = fwd ? ch->root_rel : ch->dest_rel;
+  rel->client_ready = GNUNET_YES;
   for (copy = rel->head_sent; NULL != copy; copy = next)
   {
     struct GNUNET_MessageHeader *msg;
@@ -1258,10 +1256,10 @@ GMCH_handle_local_data (struct MeshChannel *ch,
   payload->header.type = htons (GNUNET_MESSAGE_TYPE_MESH_DATA);
   payload->chid = htonl (ch->gid);
   LOG (GNUNET_ERROR_TYPE_DEBUG, "  sending on channel...\n");
-  GMCH_send_prebuilt_message (&payload->header, ch, fwd);
-
   if (GNUNET_YES == ch->reliable)
     channel_save_copy (ch, &payload->header, fwd);
+  GMCH_send_prebuilt_message (&payload->header, ch, fwd);
+
   if (GMT_get_buffer (ch->t, fwd) > 0)
   {
     send_client_ack (ch, fwd);