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); }
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); }