Ejemplo n.º 1
0
 public LockInternals(ZooKeeper zkClient, ILockInternalsDriver driver, string path, string lockName, int maxLeases)
 {
     _driver    = driver;
     _lockName  = lockName;
     _maxLeases = maxLeases;
     _zkClient  = zkClient;
     _basePath  = ZKPaths.ValidatePath(path);
     _path      = ZKPaths.MakePath(path, lockName);
     _signal    = new SemaphoreSlim(0);
     _watcher   = new ReleaseLockWatcher(_signal);
 }
Ejemplo n.º 2
0
        public LockInternals(IZooKeeper client, ILockInternalsDriver driver, string path, string lockName,
                             int maxLeases)
        {
            _driver    = driver;
            _lockName  = lockName;
            _maxLeases = maxLeases;
            PathUtils.ValidatePath(path);

            _client   = client;
            _basePath = path;
            _path     = ZKPaths.MakePath(path, lockName);
        }
Ejemplo n.º 3
0
 public InterProcessMutex(IZooKeeper client, string path, string lockName, int maxLeases,
                          ILockInternalsDriver driver)
 {
     _basePath  = path;
     _internals = new LockInternals(client, driver, path, lockName, maxLeases);
 }
Ejemplo n.º 4
0
 public ZookeeperMutexLock(ZooKeeper zkClient, string path, string lockName, int maxLeases, ILockInternalsDriver driver, int lockTimeout)
 {
     _basePath    = ZKPaths.ValidatePath(path);
     _lockTimeout = lockTimeout;
     _internals   = new LockInternals(zkClient, driver, path, lockName, maxLeases);
 }
Ejemplo n.º 5
0
 public ZookeeperMutexLock(ZooKeeper zkClient, string path, ILockInternalsDriver driver, int lockTimeout)
     : this(zkClient, path, LOCK_NAME, 1, driver, lockTimeout)
 {
 }