public static EncodeUInt64 ( ulong value, byte buffer, int offset ) : void | ||
value | ulong | |
buffer | byte | |
offset | int | |
Результат | void |
public static unsafe void EncodeUInt64(ulong value, byte[] buffer, int offset) { fixed(byte *bufferPtr = buffer) { BinaryConverter.EncodeUInt64(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); }
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); } }