Skip to content
/ nikkyo Public

Generic guard process to gain locked access to keys primarily for updating values in key value storage systems

Notifications You must be signed in to change notification settings

anomit/nikkyo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

A generic guard process (to be implemented as a daemon) that client processes
can interact with to gain locked access to keys primarily for updating values in
key value storage systems like memcached.

Protocol is straightforward at the moment. All messages are CRLF terminated.

===============
Client commands
===============

'LOCK <key>\r\n'

If the key is not locked already, daemon replies back with 'LOCKED <key>\r\n'.
Otherwise if the same client has locked the key, reply is 
'LOCK_ALREADY_ACQUIRED\r\n' and if some other client has locked the key, reply
is 'LOCK_EXISTS\r\n'.

'UNLOCK <key>\r\n'
If the key is locked, daemon replies back with 'UNLOCKED <key>\r\n'. If this is
applied on a key not locked, reply is 'LOCK_NEVER_ACQUIRED\r\n'.

'QUIT\r\n'
If the client is already holding a lock to a key and hasn't unlocked it, the
reply is 'LOCK_NOT_RELEASED' else the reply sent back is 'QUIT\r\n' as well
and the connection is closed

============
Dependencies
============
eventlet (Get it using easy_install or pip)

About

Generic guard process to gain locked access to keys primarily for updating values in key value storage systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages