public DynamoDbLockManager(IAmazonDynamoDB dynamoClient, string tableName, ILoggerFactory logFactory)
 {
     _logger              = logFactory.CreateLogger <DynamoDbLockManager>();
     _client              = dynamoClient;
     _tableName           = tableName;
     _lockTracker         = new LocalLockTracker();
     _provisioner         = new LockTableProvisioner(dynamoClient, tableName, logFactory);
     _heartbeatDispatcher = new HeartbeatDispatcher(dynamoClient, _lockTracker, tableName, logFactory);
 }
 public DynamoDbLockManager(AWSCredentials credentials, AmazonDynamoDBConfig config, string tableName, ILockTableProvisioner provisioner, IHeartbeatDispatcher heartbeatDispatcher, ILocalLockTracker lockTracker, ILoggerFactory logFactory)
 {
     _logger              = logFactory.CreateLogger <DynamoDbLockManager>();
     _client              = new AmazonDynamoDBClient(credentials, config);
     _tableName           = tableName;
     _provisioner         = provisioner;
     _heartbeatDispatcher = heartbeatDispatcher;
     _lockTracker         = lockTracker;
 }
 public DynamoDbLockManager(AWSCredentials credentials, RegionEndpoint region, string tableName, ILoggerFactory logFactory)
 {
     _logger      = logFactory.CreateLogger <DynamoDbLockManager>();
     _client      = new AmazonDynamoDBClient(credentials, region);
     _tableName   = tableName;
     _lockTracker = new LocalLockTracker();
     _provisioner = new LockTableProvisioner(credentials, new AmazonDynamoDBConfig()
     {
         RegionEndpoint = region
     }, tableName, logFactory);
     _heartbeatDispatcher = new HeartbeatDispatcher(credentials, new AmazonDynamoDBConfig()
     {
         RegionEndpoint = region
     }, _lockTracker, tableName, logFactory);
 }
 public DynamoDbLockManager(AWSCredentials credentials, AmazonDynamoDBConfig config, string tableName, ILockTableProvisioner provisioner, IHeartbeatDispatcher heartbeatDispatcher, ILocalLockTracker lockTracker, ILoggerFactory logFactory, long defaultLeaseTime, TimeSpan hearbeat)
     : this(credentials, config, tableName, provisioner, heartbeatDispatcher, lockTracker, logFactory)
 {
     _defaultLeaseTime = defaultLeaseTime;
     _heartbeat        = hearbeat;
 }