1a2d5e9ba8b85542269e92c94dc73e8c2abc7e97
[matches/swarm.git] / src / master.h
1 #ifndef _MASTER_H
2 #define _MASTER_H
3
4 #include "options.h"
5 #include "task.h"
6 #include <string.h>
7 #include "slave.h"
8
9
10 extern void Master_main(Options * o);
11 extern void Master_loop();
12 extern void * Master_sender(void * args);
13 extern void Master_setup(Options * o);
14 extern void Master_cleanup();
15 extern void Master_send();
16 extern void Master_absorb(char * addr, int port, int np);
17
18 extern void Make_slave(int i);
19 extern void sigchld_handler(int signal);
20
21
22
23 typedef struct 
24 {
25         Slave * slave;
26         int nSlaves;
27         int running;
28
29         Task * task_pool; // tasks that aren't for a single specific slave
30
31         int last_number; //number of last task
32
33         char * buffer; // buffer for storing input
34         int buflen; // length of buffer string
35         int bufsiz; // actual size of buffer
36
37         char * outfile;
38
39         int fd_max;
40
41         int barrier_number;
42         bool barrier_block;
43
44         int commands_active;
45
46         Options * o;
47 } Master;
48
49
50
51
52 #endif //_MASTER_H

UCC git Repository :: git.ucc.asn.au