//TODO: Let users change this
/*
* File transfered data
+ *
+ * File size: 10 pieces * 5 blocks/piece * 16384 bytes/block = 819200 bytes
*/
-static int FILE_SIZE = 5120;
+static int FILE_SIZE = 10 * 5 * 16384;
static int FILE_PIECES = 10;
static int PIECES_BLOCKS = 5;
+static int BLOCK_SIZE = 16384;
static int BLOCKS_REQUESTED = 2;
/**
connection->am_interested = 1;
msg_task_t task =
task_message_new(MESSAGE_INTERESTED, peer->hostname, peer->mailbox,
- peer->id);
+ peer->id, task_message_size(MESSAGE_INTERESTED));
MSG_task_dsend(task, connection->mailbox, task_message_free);
XBT_DEBUG("Send INTERESTED to %s", connection->mailbox);
}
{
msg_task_t task =
task_message_new(MESSAGE_INTERESTED, peer->hostname, peer->mailbox,
- peer->id);
+ peer->id, task_message_size(MESSAGE_INTERESTED));
MSG_task_dsend(task, mailbox, task_message_free);
XBT_DEBUG("Sending INTERESTED to %s", mailbox);
{
msg_task_t task =
task_message_new(MESSAGE_NOTINTERESTED, peer->hostname, peer->mailbox,
- peer->id);
+ peer->id, task_message_size(MESSAGE_NOTINTERESTED));
MSG_task_dsend(task, mailbox, task_message_free);
XBT_DEBUG("Sending NOTINTERESTED to %s", mailbox);
xbt_dict_foreach(peer->peers, cursor, key, remote_peer) {
msg_task_t task =
task_message_new(MESSAGE_HANDSHAKE, peer->hostname, peer->mailbox,
- peer->id);
+ peer->id, task_message_size(MESSAGE_HANDSHAKE));
MSG_task_dsend(task, remote_peer->mailbox, task_message_free);
XBT_DEBUG("Sending a HANDSHAKE to %s", remote_peer->mailbox);
}
{
msg_task_t task =
task_message_new(MESSAGE_HANDSHAKE, peer->hostname, peer->mailbox,
- peer->id);
+ peer->id, task_message_size(MESSAGE_HANDSHAKE));
MSG_task_dsend(task, mailbox, task_message_free);
XBT_DEBUG("Sending a HANDSHAKE to %s", mailbox);
}
{
XBT_DEBUG("Sending a CHOKE to %s", mailbox);
msg_task_t task =
- task_message_new(MESSAGE_CHOKE, peer->hostname, peer->mailbox, peer->id);
+ task_message_new(MESSAGE_CHOKE, peer->hostname, peer->mailbox,
+ peer->id, task_message_size(MESSAGE_CHOKE));
MSG_task_dsend(task, mailbox, task_message_free);
}
XBT_DEBUG("Sending a UNCHOKE to %s", mailbox);
msg_task_t task =
task_message_new(MESSAGE_UNCHOKE, peer->hostname, peer->mailbox,
- peer->id);
+ peer->id, task_message_size(MESSAGE_UNCHOKE));
MSG_task_dsend(task, mailbox, task_message_free);
}
xbt_dict_foreach(peer->peers, cursor, key, remote_peer) {
msg_task_t task =
task_message_index_new(MESSAGE_HAVE, peer->hostname, peer->mailbox,
- peer->id, piece);
+ peer->id, piece, task_message_size(MESSAGE_HAVE));
MSG_task_dsend(task, remote_peer->mailbox, task_message_free);
}
}
XBT_DEBUG("Sending a BITFIELD to %s", mailbox);
msg_task_t task =
task_message_bitfield_new(peer->hostname, peer->mailbox, peer->id,
- peer->bitfield);
+ peer->bitfield, FILE_PIECES);
MSG_task_dsend(task, mailbox, task_message_free);
}
"Tried to send a piece that we doesn't have.");
msg_task_t task =
task_message_piece_new(peer->hostname, peer->mailbox, peer->id, piece,
- stalled, block_index, block_length);
+ stalled, block_index, block_length, BLOCK_SIZE);
MSG_task_dsend(task, mailbox, task_message_free);
}