public KVSLockWithCAS(string lockKey, DateTime expires, IStoreProvider provider, IRetryStrategy retryStrategy = null, string workerId = null, ITextSerializer serializer = null) { _retryStrategy = retryStrategy ?? new NoRetryStrategy(); LockKey = lockKey; Expires = expires; WorkerId = workerId ?? System.Environment.MachineName; Provider = provider; Serializer = serializer ?? new JavaScriptTextSerializer(); _retryStrategy.ExecuteDelegateWithRetry(AcquireLock); }
public KVSLockWithoutCAS(string lockKey, DateTime expires, IStoreProvider provider, IRetryStrategy retryStrategy = null, string workerId = null, int retryingLockBackoffTimeMs = 100, ITextSerializer serializer = null) { _retryStrategy = retryStrategy ?? new NoRetryStrategy(); LockKey = lockKey; Expires = expires; WorkerId = workerId; Provider = provider; Serializer = serializer; _retryStrategy.ExecuteDelegateWithRetry(AcquireLock); }
public void Set <T>(Key key, T value) { _retryStrategy.ExecuteDelegateWithRetry( () => StoreProvider.Set(key, Serializer.Serialize(value))); }