internal ZooKeeperClient(EnsembleProvider ensembleProvider, TimeSpan sessionTimeout, RetryStrategy retryStrategy, string nameSpace, bool canBeReadonly, ILog log)
     : this(
         CuratorFrameworkFactory
         .builder()
         .ensembleProvider(ensembleProvider)
         .sessionTimeoutMs((int)sessionTimeout.TotalMilliseconds)
         .connectionTimeoutMs(retryStrategy.ToCuratorConnectionTimeout())
         .retryPolicy(retryStrategy.ToCuratorRetryPolicy())
         .@namespace(string.IsNullOrWhiteSpace(nameSpace) ? null : nameSpace.TrimStart('/'))
         .canBeReadOnly(canBeReadonly)
         .build(),
         log,
         new ConnectionStringRandomizer(ensembleProvider))
 {
 }
 /// <summary>
 /// Создает экземпляр клиента, используя фиксированную connection string.
 /// </summary>
 /// <param name="connectionString">Имя CC-топологии или список  пар host:port, разделенных запятой (например, "zk1:2181,zk2:2181").</param>
 /// <param name="sessionTimeout">Таймаут клиентской сессии. Не рекомендуется делать меньше 5с. или больше минуты.</param>
 /// <param name="nameSpace">Chroot для всех путей. Служит для изоляции приложений. Пример: "MyApp".</param>
 /// <param name="log"></param>
 public ZooKeeperClient(string connectionString, TimeSpan sessionTimeout, string nameSpace, ILog log)
     : this(connectionString, sessionTimeout, RetryStrategy.CreateDefault(sessionTimeout), nameSpace, log)
 {
 }
 /// <summary>
 /// Создает экземпляр клиента, используя фиксированную connection string.
 /// </summary>
 /// <param name="connectionString">Имя CC-топологии или список пар host:port, разделенных запятой (например, "zk1:2181,zk2:2181").</param>
 /// <param name="sessionTimeout">Таймаут клиентской сессии. Не рекомендуется делать меньше 5с. или больше минуты.</param>
 /// <param name="retryStrategy">Стратегия повторных попыток в случае потери соединения.</param>
 /// <param name="nameSpace">Chroot для всех путей. Служит для изоляции приложений. Пример: "MyApp".</param>
 /// <param name="log"></param>
 public ZooKeeperClient(string connectionString, TimeSpan sessionTimeout, RetryStrategy retryStrategy, string nameSpace, ILog log)
     : this(CreateEnsembleProvider(connectionString, log), sessionTimeout, retryStrategy, nameSpace, false, log)
 {
 }
 /// <summary>
 /// Создает экземпляр клиента, используя фиксированную connection string.
 /// </summary>
 /// <param name="connectionString">Имя CC-топологии или список  пар host:port, разделенных запятой (например, "zk1:2181,zk2:2181").</param>
 /// <param name="sessionTimeout">Таймаут клиентской сессии. Не рекомендуется делать меньше 5с. или больше минуты.</param>
 /// <param name="retryStrategy">Стратегия повторных попыток в случае потери соединения.</param>
 /// <param name="log"></param>
 public ZooKeeperClient(string connectionString, TimeSpan sessionTimeout, RetryStrategy retryStrategy, ILog log)
     : this(connectionString, sessionTimeout, retryStrategy, null, log)
 {
 }
Exemplo n.º 5
0
 protected bool Equals(RetryStrategy other)
 {
     return(MaxAttempts == other.MaxAttempts &&
            AttemptTimeout.Equals(other.AttemptTimeout) &&
            AttemptDelay.Equals(other.AttemptDelay));
 }