/**
* Message sizes
+ * Sizes based on report by A. Legout et al, Understanding BitTorrent: An Experimental Perspective
+ * http://hal.inria.fr/inria-00000156/en
*/
#define MESSAGE_HANDSHAKE_SIZE 68
#define MESSAGE_CHOKE_SIZE 5
MESSAGE_HAVE,
MESSAGE_BITFIELD,
MESSAGE_REQUEST,
- MESSAGE_PIECE
+ MESSAGE_PIECE,
+ MESSAGE_CANCEL
} e_message_type;
/**
* Builds a new value-less message
*/
msg_task_t task_message_new(e_message_type type,
- const char *issuer_host_name,
- const char *mailbox, int peer_id,
- int size);
+ const char *issuer_host_name,
+ const char *mailbox, int peer_id, int size);
/**
* Builds a new "have/piece" message
*/
msg_task_t task_message_index_new(e_message_type type,
- const char *issuer_host_name,
- const char *mailbox, int peer_id,
- int index, int varsize);
+ const char *issuer_host_name,
+ const char *mailbox, int peer_id,
+ int index, int varsize);
/**
* Builds a new bitfield message
*/
* Builds a new "request" message
*/
msg_task_t task_message_request_new(const char *issuer_host_name,
- const char *mailbox, int peer_id, int index,
- int block_index, int block_length);
+ const char *mailbox, int peer_id,
+ int index, int block_index,
+ int block_length);
/**
* Build a new "piece" message