// lock protocol

#ifndef protocol_h
#define protocol_h

#include "rpc.h"


class lock_protocol {
 public:
    enum xxstatus { OK, RETRY, RPCERR, NOENT, IOERR, NOTMANAGER };
    typedef int status;
    enum rpc_numbers {
        acquire = 0x7001,
        release,
        subscribe,
        stat,
        grant,
        revoke
    };
};

class cached_lock_protocol {
 public:
    enum rpc_numbers {
        acquire = 0x6801,
        release,
        revoke,
        grant,
        stat,
        receive_state,
        divide_state        
    };
};

class metadata_protocol {
 public:
    enum xxstatus { OK, RETRY, RPCERR, NOENT, IOERR, NOTMANAGER };
    typedef int status;
    enum rpc_numbers {
        join = 0x4001,
        leave,
        update,
        join_member,
        leave_member,
	stats,
	nr_locks,
	
    };
};


        
#endif 
