Includes cleanups
[invirt/third/libt4.git] / lock_server.h
index 381c527..69ac2b8 100644 (file)
@@ -19,8 +19,12 @@ public:
     map<callback_t, lock_protocol::xid_t> old_requests;
     mutex m;
     lock_state& operator=(const lock_state&);
+
+    MEMBERS(held, held_by, wanted_by)
 };
 
+MARSHALLABLE(lock_state)
+
 typedef map<lock_protocol::lockid_t, lock_state> lock_map;
 
 class lock_server : public rsm_state_transfer {
@@ -31,16 +35,16 @@ class lock_server : public rsm_state_transfer {
         lock_state &get_lock_state(lock_protocol::lockid_t lid);
         fifo<lock_protocol::lockid_t> retry_fifo;
         fifo<lock_protocol::lockid_t> revoke_fifo;
-        class rsm *rsm;
+        rsm *rsm_;
     public:
-        lock_server(class rsm *rsm = 0);
+        lock_server(rsm *r = 0);
         lock_protocol::status stat(int &, lock_protocol::lockid_t);
         void revoker();
         void retryer();
         string marshal_state();
-        void unmarshal_state(string state);
-        int acquire(int &, lock_protocol::lockid_t, string id, lock_protocol::xid_t);
-        int release(int &, lock_protocol::lockid_t, string id, lock_protocol::xid_t);
+        void unmarshal_state(const string & state);
+        int acquire(int &, lock_protocol::lockid_t, const callback_t & id, lock_protocol::xid_t);
+        int release(int &, lock_protocol::lockid_t, const callback_t & id, lock_protocol::xid_t);
 };
 
 #endif