EncodeUInt32() public static method

public static EncodeUInt32 ( uint value, byte buffer, int offset ) : void
value uint
buffer byte
offset int
return void
Esempio n. 1
0
        protected override BinaryRequest Build()
        {
            OpCode op;

            switch (this.mode)
            {
            case StoreMode.Add: op = OpCode.Add; break;

            case StoreMode.Set: op = OpCode.Set; break;

            case StoreMode.Replace: op = OpCode.Replace; break;

            default: throw new ArgumentOutOfRangeException("mode", mode + " is not supported");
            }

            var extra = new byte[8];

            BinaryConverter.EncodeUInt32((uint)this.value.Flags, extra, 0);
            BinaryConverter.EncodeUInt32(expires, extra, 4);

            var request = new BinaryRequest(op)
            {
                Key   = this.Key,
                Cas   = this.Cas,
                Extra = new ArraySegment <byte>(extra),
                Data  = this.value.Data
            };

            return(request);
        }
Esempio n. 2
0
 public static unsafe void EncodeUInt32(uint value, byte[] buffer, int offset)
 {
     fixed(byte *bufferPtr = buffer)
     {
         BinaryConverter.EncodeUInt32(value, bufferPtr, offset);
     }
 }
        protected unsafe void UpdateExtra(BinaryRequest request)
        {
            byte[] extra = new byte[20];

            fixed(byte *buffer = extra)
            {
                BinaryConverter.EncodeUInt64(this._delta, buffer, 0);
                BinaryConverter.EncodeUInt64(this._defaultValue, buffer, 8);
                BinaryConverter.EncodeUInt32(this._expires, buffer, 16);
            }

            request.Extra = new ArraySegment <byte>(extra);
        }
Esempio n. 4
0
        protected override BinaryRequest Build()
        {
            var extra = new byte[4];

            BinaryConverter.EncodeUInt32(expires, extra, 0);

            var request = new BinaryRequest(OpCode.Touch)
            {
                Key   = this.Key,
                Extra = new ArraySegment <byte>(extra)
            };

            return(request);
        }
Esempio n. 5
0
        protected unsafe void UpdateExtra(BinaryRequest request)
        {
            if (mode == MutationMode.Touch)
            {
                Span <byte> extra = stackalloc byte[4];
                BinaryPrimitives.WriteUInt32BigEndian(extra, this.expires);
                request.Extra = new ArraySegment <byte>(extra.ToArray());
            }
            else
            {
                byte[] extra = new byte[20];

                fixed(byte *buffer = extra)
                {
                    BinaryConverter.EncodeUInt64(this.delta, buffer, 0);

                    BinaryConverter.EncodeUInt64(this.defaultValue, buffer, 8);
                    BinaryConverter.EncodeUInt32(this.expires, buffer, 16);
                }

                request.Extra = new ArraySegment <byte>(extra);
            }
        }