#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;
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;