コード例 #1
0
        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
                });
            }
        }
コード例 #2
0
        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
            });
        }
コード例 #3
0
        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
            });
        }
コード例 #4
0
        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));
            }
        }