-class lock_protocol {
- public:
- enum status : status_t { OK, RETRY, RPCERR, NOENT, IOERR };
- using lockid_t = string;
- using xid_t = uint64_t;
- enum rpc_numbers : proc_t {
- acquire = 0x7001,
- release,
- stat
- };
+namespace lock_protocol {
+ enum status : rpc_protocol::status { OK, RETRY, RPCERR, NOENT, IOERR };
+ using lockid_t = string;
+ using xid_t = uint64_t;
+ REMOTE_PROCEDURE_BASE(0x7000);
+ REMOTE_PROCEDURE(1, acquire, (int &, lockid_t, callback_t, xid_t));
+ REMOTE_PROCEDURE(2, release, (int &, lockid_t, callback_t, xid_t));
+ REMOTE_PROCEDURE(3, stat, (int &, lockid_t, callback_t));