public async Task <IGetResult> GetAndTouchAsync(string id, TimeSpan expiry, GetAndTouchOptions options) { var transcoder = options.Transcoder ?? _transcoder; using (var getAndTouchOp = new GetT <byte[]> { Key = id, Cid = Cid, Expires = expiry.ToTtl(), DurabilityTimeout = TimeSpan.FromMilliseconds(1500), Transcoder = transcoder }) { await _bucket.SendAsync(getAndTouchOp, options.Token, options.Timeout); return(new GetResult(getAndTouchOp.ExtractData(), transcoder) { Id = getAndTouchOp.Key, Cas = getAndTouchOp.Cas, Flags = getAndTouchOp.Flags, Header = getAndTouchOp.Header, OpCode = getAndTouchOp.OpCode }); } }
public async Task <IGetResult> GetAndTouchAsync(string id, TimeSpan expiry, GetAndTouchOptions?options = null) { //sanity check for deferred bootstrapping errors _bucket.ThrowIfBootStrapFailed(); options ??= new GetAndTouchOptions(); var transcoder = options.TranscoderValue ?? _transcoder; using var getAndTouchOp = new GetT <byte[]>(_bucket.Name, id) { Cid = Cid, Expires = expiry.ToTtl(), Transcoder = transcoder }; await _bucket.SendAsync(getAndTouchOp, options.TokenValue, options.TimeoutValue).ConfigureAwait(false); return(new GetResult(getAndTouchOp.ExtractData(), transcoder, _getLogger) { Id = getAndTouchOp.Key, Cas = getAndTouchOp.Cas, Flags = getAndTouchOp.Flags, Header = getAndTouchOp.Header, OpCode = getAndTouchOp.OpCode }); }
public async Task <IGetResult> GetAndTouchAsync(string id, TimeSpan expiry, GetAndTouchOptions?options = null) { //sanity check for deferred bootstrapping errors _bucket.ThrowIfBootStrapFailed(); options ??= new GetAndTouchOptions(); var transcoder = options.TranscoderValue ?? _transcoder; using var getAndTouchOp = new GetT <byte[]> { Key = id, Cid = Cid, Expires = expiry.ToTtl(), DurabilityTimeout = TimeSpan.FromMilliseconds(1500), Transcoder = transcoder }; await _bucket.SendAsync(getAndTouchOp, options.TokenValue, options.TimeoutValue); return(new GetResult(getAndTouchOp.ExtractData(), transcoder) { Id = getAndTouchOp.Key, Cas = getAndTouchOp.Cas, Flags = getAndTouchOp.Flags, Header = getAndTouchOp.Header, OpCode = getAndTouchOp.OpCode }); }
public async Task <IGetResult> GetAndTouchAsync(string id, TimeSpan expiration, GetAndTouchOptions options) { using (var getAndTouchOp = new GetT <byte[]> { Key = id, Cid = Cid, Expires = expiration.ToTtl(), DurabilityLevel = options.DurabilityLevel, DurabilityTimeout = TimeSpan.FromMilliseconds(1500) }) { await ExecuteOp(getAndTouchOp, options.Token, options.Timeout); return(new GetResult(getAndTouchOp.ExtractData(), _transcoder)); } }