Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        public static ushort UnpackDirect(Packer packer)
        {
            var res = new Int16Bytes()
            {
                b1 = packer.ReadByte(),
                b2 = packer.ReadByte()
            };

            return(res.value);
        }
Esempio n. 3
0
        public static void PackDirect(Packer packer, ushort obj)
        {
            var b = new Int16Bytes()
            {
                value = obj
            };

            packer.WriteByte(b.b1);
            packer.WriteByte(b.b2);
        }
Esempio n. 4
0
        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);
        }