#include <userver/storages/postgres/dist_lock_strategy.hpp>
Postgres distributed locking strategy. 
Definition at line 17 of file dist_lock_strategy.hpp.
 
 | 
| 
  | DistLockStrategy (ClusterPtr cluster, const std::string &table, const std::string &lock_name, const dist_lock::DistLockSettings &settings) | 
|   | 
| void  | Acquire (std::chrono::milliseconds lock_ttl, const std::string &locker_id) override | 
|   | 
| void  | Release (const std::string &locker_id) override | 
|   | 
| 
void  | UpdateCommandControl (CommandControl cc) | 
|   | 
◆ Acquire()
  
  
      
        
          | void storages::postgres::DistLockStrategy::Acquire  | 
          ( | 
          std::chrono::milliseconds |           lock_ttl,  | 
         
        
           | 
           | 
          const std::string & |           locker_id ) | 
         
       
   | 
  
overridevirtual   | 
  
 
Acquires the distributed lock.
- Parameters
 - 
  
    | lock_ttl | The duration for which the lock must be held.  | 
    | locker_id | Globally unique ID of the locking entity.  | 
  
   
- Exceptions
 - 
  
    | LockIsAcquiredByAnotherHostError | when the lock is busy  | 
    | anything | else when the locking fails, strategy is responsible for cleanup, Release won't be invoked.  | 
  
   
Implements dist_lock::DistLockStrategyBase.
 
 
◆ Release()
  
  
      
        
          | void storages::postgres::DistLockStrategy::Release  | 
          ( | 
          const std::string & |           locker_id | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
The documentation for this class was generated from the following file: