private bool UnpackPrimitiveInt8(LmPackFormat format, out sbyte value) { if (this.ReadData[this.Position] != (byte)format) { value = default; return(false); } this.Position++; value = unchecked ((sbyte)this.ReadData[this.Position]); this.Position++; return(true); }
private bool UnpackPrimitiveUInt64(LmPackFormat format, out ulong value) { if (this.ReadData[this.Position] != (byte)format) { value = default; return(false); } this.Position++; value = BitConverter.ToUInt64(this.ReadData, this.Position); this.Position += 8; return(true); }
private bool UnpackContainerUInt16(LmPackFormat format, out ushort value) { if (this.ReadData[this.Position] != (byte)format) { value = default; return(false); } this.Position++; value = BitConverter.ToUInt16(this.ReadData, this.Position); this.Position += sizeof(ushort); return(true); }
private bool UnpackString(LmPackFormat format, out byte[] data, out uint size) { if (this.ReadData[this.Position] != (byte)format) { data = default; size = 0; return(false); } this.Position++; size = BitConverter.ToUInt32(this.ReadData, this.Position); this.Position += 4; data = new byte[(int)size]; Array.Copy(this.ReadData, this.Position, data, 0, (int)size); this.Position += (int)size; return(true); }
private bool UnpackBin8(LmPackFormat format, out byte[] data, out uint size) { if (this.ReadData[this.Position] != (byte)format) { data = default; size = 0; return(false); } this.Position++; size = this.ReadData[this.Position]; this.Position++; data = new byte[(int)size]; Array.Copy(this.ReadData, this.Position, data, 0, (int)size); this.Position += (int)size; return(true); }