public static void PackDirect(Packer packer, short obj) { var b = new Int16Bytes() { value = (short)obj }; byte size = 2; if (b.b2 == 0) { --size; } if (b.b2 == 0 && b.b1 == 0) { --size; } packer.WriteByte(size); if (size >= 1) { packer.WriteByte(b.b1); } if (size >= 2) { packer.WriteByte(b.b2); } }
public static ushort UnpackDirect(Packer packer) { var res = new Int16Bytes() { b1 = packer.ReadByte(), b2 = packer.ReadByte() }; return(res.value); }
public static void PackDirect(Packer packer, ushort obj) { var b = new Int16Bytes() { value = obj }; packer.WriteByte(b.b1); packer.WriteByte(b.b2); }
public static short UnpackDirect(Packer packer) { var size = packer.ReadByte(); var res = new Int16Bytes() { b1 = (size >= 1 ? packer.ReadByte() : byte.MinValue), b2 = (size >= 2 ? packer.ReadByte() : byte.MinValue) }; return(res.value); }