1 #ifndef lock_protocol_h
2 #define lock_protocol_h
7 typedef string callback_t;
9 namespace lock_protocol {
10 enum status : rpc_protocol::status { OK, RETRY, RPCERR, NOENT, IOERR };
11 using lockid_t = string;
12 using xid_t = uint64_t;
13 REMOTE_PROCEDURE_BASE(0x7000);
14 REMOTE_PROCEDURE(1, acquire, (int &, lockid_t, callback_t, xid_t));
15 REMOTE_PROCEDURE(2, release, (int &, lockid_t, callback_t, xid_t));
18 namespace rlock_protocol {
19 using lockid_t = lock_protocol::lockid_t;
20 using xid_t = lock_protocol::xid_t;
21 enum status : rpc_protocol::status { OK, RPCERR };
22 REMOTE_PROCEDURE_BASE(0x8000);
23 REMOTE_PROCEDURE(1, revoke, (int &, lockid_t, xid_t));
24 REMOTE_PROCEDURE(2, retry, (int &, lockid_t, xid_t));