packet++;
}
- GNUNET_SCHEDULER_add_delayed
- (GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5),
- &retransmission_timeout_task,
- socket);
+ if (GNUNET_SCHEDULER_NO_TASK == socket->retransmission_timeout_task_id)
+ socket->retransmission_timeout_task_id =
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
+ (GNUNET_TIME_UNIT_SECONDS, 5),
+ &retransmission_timeout_task,
+ socket);
}
}
/* FIXME: include the case when write_handle is cancelled - ignore the
acks */
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "%x: Received DATA_ACK from %x\n",
+ socket->our_id,
+ socket->other_peer);
/* Cancel the retransmission task */
if (GNUNET_SCHEDULER_NO_TASK != socket->retransmission_timeout_task_id)
socket->retransmission_timeout_task_id =
GNUNET_SCHEDULER_NO_TASK;
}
-
+
socket->write_handle->ack_bitmap = GNUNET_ntohll (ack->bitmap);
socket->receiver_window_available =
ntohl (ack->receive_window_remaining);
}
else /* We have to call the write continuation callback now */
{
-
/* Free the packets */
for (packet=0; packet < 64; packet++)
{
(socket->write_handle->write_cont_cls,
socket->status,
socket->write_handle->size);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "%x: Write completion callback completed\n",
+ socket->our_id);
/* We are done with the write handle - Freeing it */
GNUNET_free (socket->write_handle);
socket->write_handle = NULL;
GNUNET_assert (size <= strlen (data));
peer->bytes_wrote += size;
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Writing completed\n");
+
if (peer->bytes_wrote < strlen(data)) /* Have more data to send */
{
peer->io_write_handle =
{
GNUNET_SCHEDULER_add_now (&do_shutdown, NULL);
}
- }
+ }
return size;
}