public async Task <DataResponse> GetExclusive() { var r = await Get(); // process requested lock if data successfully retrieved if (r.Status == ResponseStatus.Ok) { r.LockCookie = (uint)Guid.NewGuid().GetHashCode(); r.LockTime = DateTime.Now; r.LockAge = TimeSpan.Zero; await store.SetLockAsync(id, (uint)r.LockCookie, (DateTime)r.LockTime); } return(r); }
public async Task <DataResponse> GetExclusive(CancellationToken cancellationToken) { logger.Verbose("GetExclusive operation for {StateId}.", id); var r = await Get(cancellationToken); // process requested lock if data successfully retrieved if (r.Status == ResponseStatus.Ok) { r.LockCookie = (uint)Guid.NewGuid().GetHashCode(); r.LockTime = DateTime.UtcNow; r.LockAge = TimeSpan.Zero; await store.SetLockAsync(id, (uint)r.LockCookie, (DateTime)r.LockTime, cancellationToken); } return(r); }