memgraph/include/storage/locking/record_lock.hpp

21 lines
354 B
C++

#pragma once
#include "threading/sync/futex.hpp"
#include "storage/locking/lock_status.hpp"
#include "mvcc/id.hpp"
class RecordLock
{
static constexpr struct timespec timeout {20, 0};
static constexpr Id INVALID = Id();
public:
LockStatus lock(const Id& id);
void lock();
void unlock();
private:
Futex mutex;
Id owner;
};