+
+int task_message_size(e_message_type type)
+{
+ int size = 0;
+ switch (type) {
+ case MESSAGE_HANDSHAKE:
+ size = MESSAGE_HANDSHAKE_SIZE;
+ break;
+ case MESSAGE_CHOKE:
+ size = MESSAGE_CHOKE_SIZE;
+ break;
+ case MESSAGE_UNCHOKE:
+ size = MESSAGE_UNCHOKE_SIZE;
+ break;
+ case MESSAGE_INTERESTED:
+ size = MESSAGE_INTERESTED_SIZE;
+ break;
+ case MESSAGE_NOTINTERESTED:
+ size = MESSAGE_INTERESTED_SIZE;
+ break;
+ case MESSAGE_HAVE:
+ size = MESSAGE_HAVE_SIZE;
+ break;
+ case MESSAGE_BITFIELD:
+ size = MESSAGE_BITFIELD_SIZE;
+ break;
+ case MESSAGE_REQUEST:
+ size = MESSAGE_REQUEST_SIZE;
+ break;
+ case MESSAGE_PIECE:
+ size = MESSAGE_PIECE_SIZE;
+ break;
+ case MESSAGE_CANCEL:
+ size = MESSAGE_CANCEL_SIZE;
+ break;
+ }
+ return size;
+}