XBT_DEBUG("Building chain -- broadcaster:\"%s\" dest:\"%s\" prev:\"%s\" next:\"%s\"", me, current_host, prev, next);
/* Send message to current peer */
- task = task_message_chain_new(me, current_host, prev, next, bc->piece_count);
+ task = task_message_chain_new(prev, next, bc->piece_count);
MSG_task_send(task, current_host);
last = current_host;
bc->current_piece = 0;
while (bc->current_piece < bc->piece_count) {
- task = task_message_data_new(me, bc->first, NULL, PIECE_SIZE);
+ task = task_message_data_new(NULL, PIECE_SIZE);
XBT_DEBUG("Sending (send) piece %d from %s into mailbox %s", bc->current_piece, me, bc->first);
MSG_task_send(task, bc->first);
bc->current_piece++;
#include "messages.h"
-msg_task_t task_message_new(e_message_type type, unsigned int len, const char *issuer_hostname, const char *mailbox)
+msg_task_t task_message_new(e_message_type type, unsigned int len)
{
message_t msg = xbt_new(s_message_t, 1);
msg->type = type;
- msg->issuer_hostname = xbt_strdup(issuer_hostname);
- msg->mailbox = xbt_strdup(mailbox);
msg->prev_hostname = NULL;
msg->next_hostname = NULL;
msg_task_t task = MSG_task_create(NULL, 0, len, msg);
return task;
}
-msg_task_t task_message_chain_new(const char *issuer_hostname, const char *mailbox, const char* prev, const char *next, const unsigned int num_pieces)
+msg_task_t task_message_chain_new(const char* prev, const char *next, const unsigned int num_pieces)
{
- msg_task_t task = task_message_new(MESSAGE_BUILD_CHAIN, MESSAGE_BUILD_CHAIN_SIZE, issuer_hostname, mailbox);
+ msg_task_t task = task_message_new(MESSAGE_BUILD_CHAIN, MESSAGE_BUILD_CHAIN_SIZE);
message_t msg = MSG_task_get_data(task);
msg->prev_hostname = xbt_strdup(prev);
msg->next_hostname = xbt_strdup(next);
return task;
}
-msg_task_t task_message_data_new(const char *issuer_hostname, const char *mailbox, const char *block, unsigned int len)
+msg_task_t task_message_data_new(const char *block, unsigned int len)
{
- msg_task_t task = task_message_new(MESSAGE_SEND_DATA, MESSAGE_SEND_DATA_HEADER_SIZE + len, issuer_hostname, mailbox);
+ msg_task_t task = task_message_new(MESSAGE_SEND_DATA, MESSAGE_SEND_DATA_HEADER_SIZE + len);
message_t msg = MSG_task_get_data(task);
msg->data_block = block;
msg->data_length = len;
void task_message_delete(void *task)
{
message_t msg = MSG_task_get_data(task);
- xbt_free(msg->issuer_hostname);
- xbt_free(msg->mailbox);
xbt_free(msg);
MSG_task_destroy(task);
}
/* Message struct */
typedef struct s_message {
e_message_type type;
- char *issuer_hostname;
- char *mailbox;
char *prev_hostname;
char *next_hostname;
const char *data_block;
} s_message_t, *message_t;
/* Message methods */
-msg_task_t task_message_new(e_message_type type, unsigned int len, const char *issuer_hostname, const char *mailbox);
-msg_task_t task_message_chain_new(const char *issuer_hostname, const char *mailbox, const char* prev, const char *next, const unsigned int num_pieces);
-msg_task_t task_message_data_new(const char *issuer_hostname, const char *mailbox, const char *block, unsigned int len);
+msg_task_t task_message_new(e_message_type type, unsigned int len);
+msg_task_t task_message_chain_new(const char* prev, const char *next, const unsigned int num_pieces);
+msg_task_t task_message_data_new(const char *block, unsigned int len);
void task_message_delete(void *);
#endif /* KADEPLOY_MESSAGES_H */
static void peer_forward_msg(peer_t peer, message_t msg)
{
- msg_task_t task = task_message_data_new(peer->me, peer->next, NULL, msg->data_length);
+ msg_task_t task = task_message_data_new(NULL, msg->data_length);
msg_comm_t comm = NULL;
XBT_DEBUG("Sending (isend) from %s into mailbox %s", peer->me, peer->next);
comm = MSG_task_isend(task, peer->next);