public StoreRequest(IBufferAllocator allocator, OpCode operation, CacheItem value, uint expires)
                : base(allocator, operation, ExtraLength)
            {
                var extra  = Extra.Array;
                var offset = Extra.Offset;

                // store the extra values
                NetworkOrderConverter.EncodeUInt32(value.Flags, extra, offset);
                NetworkOrderConverter.EncodeUInt32(expires, extra, offset + 4);

                Data = value.Segment.AsArraySegment();
            }
        protected override BinaryRequest CreateRequest()
        {
            var request = new BinaryRequest(Allocator, OpCode.Touch, ExtraLength)
            {
                Key = Key,
                Cas = Cas
            };

            // store expiration in Extra
            var extra = request.Extra;

            NetworkOrderConverter.EncodeUInt32(Expires, extra.Array, extra.Offset);

            return(request);
        }
Esempio n. 3
0
        protected override BinaryRequest CreateRequest()
        {
            var request = new BinaryRequest(Allocator, operations[(int)Mode], ExtraLength)
            {
                Key = Key, Cas = Cas
            };

            // store the extra values
            var extra  = request.Extra.Array;
            var offset = request.Extra.Offset;

            NetworkOrderConverter.EncodeUInt64(Delta, extra, offset);
            NetworkOrderConverter.EncodeUInt64(DefaultValue, extra, offset + 8);
            NetworkOrderConverter.EncodeUInt32(Expires, extra, offset + 16);

            return(request);
        }
        protected override BinaryRequest CreateRequest()
        {
            var request = new BinaryRequest(Allocator, GetOpCode(Mode), ExtraLength)
            {
                Key  = Key,
                Cas  = Cas,
                Data = Value.Data.AsArraySegment()
            };

            var extra       = request.Extra;
            var extraArray  = extra.Array;
            var extraOffset = extra.Offset;

            Debug.Assert(extraArray != null);

            // store the extra values
            NetworkOrderConverter.EncodeUInt32(Value.Flags, extraArray, extraOffset);
            NetworkOrderConverter.EncodeUInt32(Expires, extraArray, extraOffset + 4);

            return(request);
        }