Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
this file got renamed in the tesh
[simgrid.git] / examples / msg / chainsend / peer.h
1 #ifndef KADEPLOY_PEER_H
2 #define KADEPLOY_PEER_H
3
4 #include "msg/msg.h"
5 #include "xbt/sysdep.h"
6
7 #include "messages.h"
8 #include "common.h"
9
10 #define PEER_SHUTDOWN_DEADLINE 60000
11
12 /* Peer struct */
13 typedef struct s_peer {
14   int init;
15   const char *prev;
16   const char *next;
17   char *me;
18   int pieces;
19   unsigned long long bytes;
20   xbt_dynar_t pending_recvs;
21   xbt_dynar_t pending_sends;
22   int close_asap; /* TODO: unused */
23 } s_peer_t, *peer_t;
24
25 /* Peer: helper functions */
26 msg_error_t peer_wait_for_message(peer_t peer);
27 int peer_execute_task(peer_t peer, msg_task_t task);
28 void peer_init_chain(peer_t peer, message_t msg);
29 void peer_delete(peer_t p);
30 void peer_shutdown(peer_t p);
31 void peer_init(peer_t p, int argc, char *argv[]);
32 void peer_print_stats(peer_t p, float elapsed_time);
33
34 int peer(int argc, char *argv[]);
35
36 #endif /* KADEPLOY_PEER_H */