1 /* Copyright (c) 2012-2019. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
10 #include "simgrid/msg.h"
12 #define MESSAGE_BUILD_CHAIN_SIZE 40
13 #define MESSAGE_SEND_DATA_HEADER_SIZE 1
14 #define MESSAGE_END_DATA_SIZE 1
17 typedef enum { MESSAGE_BUILD_CHAIN = 0, MESSAGE_SEND_DATA } e_message_type;
20 typedef struct s_message {
24 const char* data_block;
25 unsigned int data_length;
26 unsigned int num_pieces;
29 typedef s_message_t* message_t;
32 msg_task_t task_message_new(e_message_type type, unsigned int len);
33 msg_task_t task_message_chain_new(const char* prev, const char* next, const unsigned int num_pieces);
34 msg_task_t task_message_data_new(const char* block, unsigned int len);
35 void task_message_delete(void*);
37 #endif /* MESSAGES_H */