save works
This commit is contained in:
parent
b1faeb94b6
commit
b748e30d20
35 changed files with 1247 additions and 2149 deletions
158
src/lib/kvmgr.c
158
src/lib/kvmgr.c
|
|
@ -238,164 +238,6 @@ int kvmgr_iter(kvmgr_t* mgr, zarray_iter_skip_fn_t skipfn, xlist_t* l,
|
|||
return rc;
|
||||
}
|
||||
|
||||
int resmgr_init(resmgr_t* mgr, int nslots, int delta,
|
||||
zarray_item_killer_t killer)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
rc = kvmgr_init(&(mgr->resdef), string_hash_key, nslots, delta, killer);
|
||||
if (rc < 0) {
|
||||
return rc;
|
||||
}
|
||||
|
||||
mgr->nshared = 0;
|
||||
mgr->nunshared = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void resmgr_fini(resmgr_t* mgr)
|
||||
{
|
||||
kvmgr_fini(&(mgr->resdef));
|
||||
mgr->nshared = 0;
|
||||
mgr->nunshared = 0;
|
||||
}
|
||||
|
||||
int32_t resmgr_add_res(resmgr_t* mgr, xce_resource_t* res)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
rc = kvmgr_add(&(mgr->resdef), (void*)res->name, (void*)res);
|
||||
if (rc < 0) {
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (res->flags & XCE_RESF_SHARED) {
|
||||
res->idx = mgr->nshared;
|
||||
mgr->nshared++;
|
||||
} else {
|
||||
res->idx = mgr->nunshared;
|
||||
mgr->nunshared++;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
xce_resource_t* resmgr_lockres(resmgr_t* mgr, char* resname, int op)
|
||||
{
|
||||
xce_resource_t* r = NULL;
|
||||
r = (xce_resource_t*)kvmgr_lock(&(mgr->resdef), (void*)resname, op);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
xce_resource_t* resmgr_lock_byid(resmgr_t* mgr, int idx, int op)
|
||||
{
|
||||
xce_resource_t* r = NULL;
|
||||
|
||||
r = (xce_resource_t*)kvmgr_lock_byid(&(mgr->resdef), idx, op);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
void resmgr_del_res(resmgr_t* mgr, xce_resource_t* r)
|
||||
{
|
||||
kvmgr_del(&(mgr->resdef), (void*)r->name);
|
||||
}
|
||||
|
||||
int resmgr_iter(resmgr_t* mgr, xlist_t* l, void* arg)
|
||||
{
|
||||
return kvmgr_iter(&(mgr->resdef), NULL, l, arg);
|
||||
}
|
||||
|
||||
int qmgr_init(qmgr_t* mgr, int nslots, int delta, zarray_item_killer_t killer)
|
||||
{
|
||||
return kvmgr_init(&(mgr->queues), string_hash_key, nslots, delta, killer);
|
||||
}
|
||||
|
||||
void qmgr_fini(qmgr_t* mgr) { kvmgr_fini(&(mgr->queues)); }
|
||||
|
||||
int qmgr_add(qmgr_t* mgr, queue_t* q)
|
||||
{
|
||||
return kvmgr_add(&(mgr->queues), (void*)q->queue.queue, q);
|
||||
}
|
||||
|
||||
queue_t* qmgr_lockq(qmgr_t* mgr, char* name, int op)
|
||||
{
|
||||
return (queue_t*)kvmgr_lock(&(mgr->queues), (void*)name, op);
|
||||
}
|
||||
|
||||
void qmgr_delq(qmgr_t* mgr, queue_t* q)
|
||||
{
|
||||
kvmgr_del(&(mgr->queues), (void*)q->queue.queue);
|
||||
}
|
||||
|
||||
int qmgr_iter(qmgr_t* mgr, xlist_t* l, void* arg)
|
||||
{
|
||||
return kvmgr_iter(&(mgr->queues), NULL, l, arg);
|
||||
}
|
||||
|
||||
int workermgr_init(workermgr_t* mgr, int nslots, int delta,
|
||||
zarray_item_killer_t killer)
|
||||
{
|
||||
return kvmgr_init(&(mgr->workers), string_hash_key, nslots, delta, killer);
|
||||
}
|
||||
|
||||
void workermgr_fini(workermgr_t* mgr) { kvmgr_fini(&(mgr->workers)); }
|
||||
|
||||
int workermgr_add(workermgr_t* mgr, worker_t* w)
|
||||
{
|
||||
return kvmgr_add(&(mgr->workers), (void*)w->host.name, w);
|
||||
}
|
||||
|
||||
worker_t* workermgr_lock(workermgr_t* mgr, char* name, int op)
|
||||
{
|
||||
return (worker_t*)kvmgr_lock(&(mgr->workers), (void*)name, op);
|
||||
}
|
||||
|
||||
worker_t* workermgr_lock_byid(workermgr_t* mgr, int idx, int op)
|
||||
{
|
||||
return (worker_t*)kvmgr_lock_byid(&(mgr->workers), idx, op);
|
||||
}
|
||||
|
||||
void workermgr_del(workermgr_t* mgr, worker_t* w)
|
||||
{
|
||||
kvmgr_del(&(mgr->workers), (void*)w->host.name);
|
||||
}
|
||||
|
||||
int workermgr_iter(workermgr_t* mgr, xlist_t* l, void* arg)
|
||||
{
|
||||
return kvmgr_iter(&(mgr->workers), NULL, l, arg);
|
||||
}
|
||||
|
||||
int jobmgr_init(jobmgr_t* mgr, int nslots, int delta,
|
||||
zarray_item_killer_t killer)
|
||||
{
|
||||
return kvmgr_init(&(mgr->jobs), int_hash_key, nslots, delta, killer);
|
||||
}
|
||||
|
||||
void jobmgr_fini(jobmgr_t* mgr) { kvmgr_fini(&(mgr->jobs)); }
|
||||
|
||||
int jobmgr_add_job(jobmgr_t* mgr, job_t* j)
|
||||
{
|
||||
return kvmgr_add(&(mgr->jobs), (void*)j->job.jobid, j);
|
||||
}
|
||||
|
||||
job_t* jobmgr_lockjob(jobmgr_t* mgr, uint64_t jobid, int op)
|
||||
{
|
||||
return (job_t*)kvmgr_lock(&(mgr->jobs), (void*)jobid, op);
|
||||
}
|
||||
|
||||
void jobmgr_del_job(jobmgr_t* mgr, job_t* j)
|
||||
{
|
||||
kvmgr_del(&(mgr->jobs), (void*)j->job.jobid);
|
||||
}
|
||||
|
||||
int jobmgr_iter(jobmgr_t* mgr, xlist_t* l, void* arg)
|
||||
{
|
||||
return kvmgr_iter(&(mgr->jobs), NULL, l, arg);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
my_rwlock_t lock;
|
||||
} xkvmgr_private_t;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue