summaryrefslogtreecommitdiff
path: root/src/coordinator.h
blob: a2a743c6ad42c0d2cc9e00bb5539659e4bd69254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef _BIRUDA_COORDINGATOR_HEADER_INCLUDED
#define _BIRUDA_COORDINGATOR_HEADER_INCLUDED

#include "worker.h"

#include <time.h>

#include "port.h"

#define MAX_WORKERS 128

typedef struct {
	char *host;
	char *os;
	char *arch;
	unsigned int cpus;
	bool used;
	bool alive;
	time_t lastAlive;
	worker_t worker[MAX_WORKERS];
	int nof_workers;
} coordinator_t;

int coordinator_init( const char *control );
void coordinator_terminate( );
int coordinator_free( );
int coordinator_add_worker( const char *name, worker_execution_mode_t mode, const char *command,
	const char *control, const char *data );

#endif