use nix build & meson & zlog
This commit is contained in:
parent
0123623742
commit
346768a144
60 changed files with 13739 additions and 0 deletions
168
src/include/xce/cluster_def.h
Normal file
168
src/include/xce/cluster_def.h
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
#ifndef XCE_CLUSTER_DEF_H
|
||||
#define XCE_CLUSTER_DEF_H
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "hook.h"
|
||||
#include "htab.h"
|
||||
#include "kvmgr.h"
|
||||
#include "myconf.h"
|
||||
#include "mylock.h"
|
||||
#include "netio.h"
|
||||
#include "objmgr.h"
|
||||
#include "vtaskmgr.h"
|
||||
#include "xce/types.h"
|
||||
#include "xlist.h"
|
||||
#include "zarray.h"
|
||||
|
||||
#define N_CONTROLLER_MAX (16)
|
||||
|
||||
enum {
|
||||
XCE_CONTROLLER_HOOK_JOB = 0,
|
||||
XCE_CONTROLLER_HOOK_WORKER,
|
||||
XCE_CONTROLLER_HOOK_SCHEDULER,
|
||||
XCE_CONTROLLER_HOOK_CLUSTER,
|
||||
XCE_CONTROLLER_HOOK_RESOURCE,
|
||||
XCE_CONTROLLER_HOOK_CTRL_REQ,
|
||||
XCE_CONTROLLER_HOOK_QUEUE,
|
||||
XCE_CONTROLLER_HOOK_USERGROUP,
|
||||
XCE_CONTROLLER_HOOK_HOSTGROUP,
|
||||
XCE_CONTROLLER_HOOK_MAX /* keep this as the max */
|
||||
};
|
||||
|
||||
enum {
|
||||
HOOK_DETAIL_JOB_NEW = 0,
|
||||
HOOK_DETAIL_JOB_START,
|
||||
HOOK_DETAIL_JOB_EXIT,
|
||||
HOOK_DETAIL_JOB_FAIL,
|
||||
HOOK_DETAIL_JOB_UPDATE,
|
||||
HOOK_DETAIL_JOB_CKPT,
|
||||
HOOK_DETAIL_WORKER_JOIN,
|
||||
HOOK_DETAIL_WORKER_DEAD,
|
||||
HOOK_DETAIL_WORKER_UPDATE,
|
||||
HOOK_DETAIL_SCHEDULER_JOIN,
|
||||
HOOK_DETAIL_SCHEDULER_DEAD,
|
||||
HOOK_DETAIL_CLUSTER_INIT,
|
||||
HOOK_DETAIL_DB_INIT,
|
||||
HOOK_DETAIL_CLUSTER_SHUTDOWN,
|
||||
HOOK_DETAIL_DB_SHUTDOWN,
|
||||
HOOK_DETAIL_RESOURCE_UPDATE,
|
||||
HOOK_DETAIL_RESOURCE_LOC_UPDATE,
|
||||
HOOK_DETAIL_CTRL_REQ_FINISH,
|
||||
HOOK_DETAIL_QUEUE_UPDATE,
|
||||
HOOK_DETAIL_USERGROUP_UPDATE,
|
||||
HOOK_DETAIL_HOSTGROUP_UPDATE
|
||||
};
|
||||
|
||||
#define XCE_NS_CONFIG (0)
|
||||
#define XCE_NS_UGROUP (1)
|
||||
#define XCE_NS_HGROUP (2)
|
||||
#define XCE_NS_MAX (2)
|
||||
|
||||
typedef struct {
|
||||
int role;
|
||||
union {
|
||||
int idx;
|
||||
} u;
|
||||
} ep_private_t;
|
||||
|
||||
typedef struct {
|
||||
endpoint_t* ep;
|
||||
} controller_t;
|
||||
|
||||
typedef struct {
|
||||
} metrics_t;
|
||||
|
||||
typedef struct {
|
||||
xce_queue_t queue;
|
||||
} queue_t;
|
||||
|
||||
typedef struct {
|
||||
xce_job_t job;
|
||||
} job_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
zarray_t jobs;
|
||||
} jobmgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
int nshared;
|
||||
int nunshared;
|
||||
zarray_t defs;
|
||||
zarray_t sharedinst;
|
||||
} resmgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
zarray_t workers;
|
||||
} workermgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
htab_t htab;
|
||||
zarray_t queues;
|
||||
} qmgr_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
endpoint_t* ep;
|
||||
} scheduler_t;
|
||||
|
||||
typedef struct {
|
||||
DBPool* db_pool;
|
||||
DBHandle* db_handle;
|
||||
pthread_t fetch_thread;
|
||||
int64_t fetch_job_pos;
|
||||
int fetch_job_interval;
|
||||
int running;
|
||||
mylock_t db_lock;
|
||||
} db_ctx_t;
|
||||
|
||||
typedef struct {
|
||||
pthread_t thread;
|
||||
int runing;
|
||||
int interval;
|
||||
} ctrlreq_ctx_t;
|
||||
|
||||
typedef struct {
|
||||
mylock_t lock;
|
||||
ctrlreq_ctx_t ctrlreq_ctx;
|
||||
} ctrl_req_mgr_t;
|
||||
|
||||
typedef struct {
|
||||
myconf_t* myconf;
|
||||
xce_peerinfo_t* myhost;
|
||||
hooksys_t hooksys;
|
||||
iomgr_t iomgr;
|
||||
objmgr_t objmgr;
|
||||
zarray_t endpoints;
|
||||
endpoint_t ep;
|
||||
zarray_t configs;
|
||||
controller_t controllers[N_CONTROLLER_MAX];
|
||||
int myidx;
|
||||
int master;
|
||||
int ncontrollers;
|
||||
scheduler_t sched;
|
||||
jobmgr_t jobmgr;
|
||||
resmgr_t resmgr;
|
||||
workermgr_t workermgr;
|
||||
qmgr_t qmgr;
|
||||
kvmgr_t configmgr;
|
||||
kvmgr_t ugmgr;
|
||||
kvmgr_t hgmgr;
|
||||
vtaskmgr_t vtaskmgr;
|
||||
cbuf_t wbuf;
|
||||
int running;
|
||||
db_ctx_t dbctx;
|
||||
ctrl_req_mgr_t ctrl_req_mgr;
|
||||
} cluster_t;
|
||||
|
||||
#endif /* XCE_CLUSTER_DEF_H */
|
||||
Loading…
Add table
Add a link
Reference in a new issue