Skip to content
Snippets Groups Projects
lock.hh 503 B
Newer Older
  • Learn to ignore specific revisions
  • #ifndef __VEREIGN_KVSTORE_LOCK_HH
    #define __VEREIGN_KVSTORE_LOCK_HH
    
    #include <vereign/kvstore/storage.hh>
    #include <chrono>
    
    namespace vereign::kvstore {
    
    class Lock {
    public:
      explicit Lock(Storage& storage);
      Lock(Storage& storage, int retry_count, std::chrono::milliseconds sleep_interval);
      ~Lock() noexcept;
    
      Lock(const Lock&) = delete;
      auto operator=(const Lock&) -> Lock&  = delete;
    
    private:
      Storage& storage_;
    };
    
    
    } // namespace vereign::kvstore
    
    #endif // __VEREIGN_KVSTORE_LOCK_HH