More cleanups to marshalling logic.
[invirt/third/libt4.git] / lock_server_cache_rsm.h
index eb86bd0..c33b51e 100644 (file)
@@ -6,13 +6,16 @@
 #include <map>
 #include <vector>
 #include "lock_protocol.h"
-#include "rpc.h"
-#include "mutex.h"
+#include "rpc/rpc.h"
 #include "rsm_state_transfer.h"
 #include "rsm.h"
 #include "rpc/fifo.h"
+#include "lock.h"
 
-using namespace std;
+using std::string;
+using std::pair;
+using std::list;
+using std::map;
 
 typedef string callback;
 typedef pair<callback, lock_protocol::xid_t> holder;
@@ -20,11 +23,13 @@ typedef pair<callback, lock_protocol::xid_t> holder;
 class lock_state {
 public:
     lock_state();
+    lock_state(const lock_state &other);
     bool held;
     holder held_by;
     list<holder> wanted_by;
     map<callback, lock_protocol::xid_t> old_requests;
     mutex m;
+    lock_state& operator=(const lock_state&);
 };
 
 typedef map<lock_protocol::lockid_t, lock_state> lock_map;
@@ -40,13 +45,13 @@ class lock_server_cache_rsm : public rsm_state_transfer {
         class rsm *rsm;
     public:
         lock_server_cache_rsm(class rsm *rsm = 0);
-        lock_protocol::status stat(lock_protocol::lockid_t, int &);
+        lock_protocol::status stat(int &, lock_protocol::lockid_t);
         void revoker();
         void retryer();
         string marshal_state();
         void unmarshal_state(string state);
-        int acquire(lock_protocol::lockid_t, string id, lock_protocol::xid_t, int &);
-        int release(lock_protocol::lockid_t, string id, lock_protocol::xid_t, int &);
+        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);
 };
 
 #endif