private async Task <IGetReplicaResult> GetReplica(string id, short index, IInternalSpan span, CancellationToken cancellationToken, ITypeTranscoder transcoder)
        {
            using var childSpan = _tracer.InternalSpan(OperationNames.ReplicaRead, span);
            using var getOp     = new ReplicaRead <object>
                  {
                      Key        = id,
                      Cid        = Cid,
                      CName      = Name,
                      ReplicaIdx = index,
                      Transcoder = transcoder,
                      Span       = childSpan
                  };

            await _bucket.RetryAsync(getOp, cancellationToken).ConfigureAwait(false);

            return(new GetReplicaResult(getOp.ExtractData(), transcoder, _getLogger)
            {
                Id = getOp.Key,
                Cas = getOp.Cas,
                OpCode = getOp.OpCode,
                Flags = getOp.Flags,
                Header = getOp.Header,
                IsActive = false
            });
        }
Example #2
0
        private async Task <IGetReplicaResult> GetReplica(string id, short index, CancellationToken cancellationToken, ITypeTranscoder transcoder)
        {
            using var getOp = new ReplicaRead <object>
                  {
                      Key        = id,
                      Cid        = Cid,
                      VBucketId  = index,
                      Transcoder = transcoder
                  };
            await _bucket.RetryAsync(getOp, cancellationToken).ConfigureAwait(false);

            return(new GetReplicaResult(getOp.ExtractData(), transcoder, _getLogger)
            {
                Id = getOp.Key,
                Cas = getOp.Cas,
                OpCode = getOp.OpCode,
                Flags = getOp.Flags,
                Header = getOp.Header,
                IsActive = false
            });
        }