diff options
Diffstat (limited to 'src/cynagora-protocol.txt')
-rw-r--r-- | src/cynagora-protocol.txt | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/cynagora-protocol.txt b/src/cynagora-protocol.txt new file mode 100644 index 0000000..29e5b3a --- /dev/null +++ b/src/cynagora-protocol.txt @@ -0,0 +1,83 @@ +protocol +======== + +hello: + + c->s cynagora 1 + s->c yes 1 CACHEID + +invalidate cache: + + s->c clear CACHEID + +test a permission: + + c->s test CLIENT SESSION USER PERMISSION + s->c (done|yes|no) [EXPIRE] + +check a permission: + + c->s check CLIENT SESSION USER PERMISSION + s->c (yes|no) [EXPIRE] + +enter critical (admin) + + c->s enter + s->c done + +leave critical (admin) + + c->s leave [commit|rollback] + s->c done|error ... + +erase (admin): + + c->s drop CLIENT SESSION USER PERMISSION + s->c done|error ... + +set (admin): + + c->s set CLIENT SESSION USER PERMISSION VALUE [EXPIRE] + s->c done|error ... + +list permissions (admin): + + c->s get CLIENT SESSION USER PERMISSION + s->c item CLIENT SESSION USER PERMISSION VALUE [EXPIRE] + s->c ... + s->c done + +logging set/get (admin) + + c->s log [on|off] + s->c done (on|off) + +register agent (agent): + + c->s agent NAME [ARGS...] + s->c done|error ... + +ask agent (agent): + + s->c ask NAME VALUE CLIENT SESSION USER PERMISSION + c->s done | ([yes|no] [always|session|one-time|EXPIRE]) + + +---------------------------------------------------------- + c->s c(heck) CLIENT SESSION USER PERMISSION + c->s d(rop) CLIENT SESSION USER PERMISSION + c->s e(nter) + c->s g(et) CLIENT SESSION USER PERMISSION + c->s l(eave) [commit|rollback] + c->s r(cyn) + c->s s(et) CLIENT SESSION USER PERMISSION VALUE EXPIRE + c->s t(est) CLIENT SESSION USER PERMISSION + + s->c clear + s->c done + s->c done [CLIENT SESSION USER PERMISSION VALUE] + s->c done|error ... + s->c item CLIENT SESSION USER PERMISSION VALUE EXPIRE + s->c done VALUE EXPIRE + + |