Exemple #1
0
        private HComEnums.NumberOfLengthByte GetNumberOfLengthByte(int length)
        {
            HComEnums.NumberOfLengthByte usingBytes = HComEnums.NumberOfLengthByte.Len1;
            if (length > 0xFF)
            {
                usingBytes = HComEnums.NumberOfLengthByte.Len2;
            }
            if (length > 0xFFFF)
            {
                usingBytes = HComEnums.NumberOfLengthByte.Len3;
            }
            if (length > 0xFFFFF)
            {
                Console.WriteLine("Exceeded max length {0}", 0xFFFFF);
                return(HComEnums.NumberOfLengthByte.Overbound);
            }

            return(usingBytes);
        }
Exemple #2
0
        private bool AddFormat(int length, HComEnums.ItemFormat itemFormat)
        {
            HComEnums.NumberOfLengthByte lengthByte = GetNumberOfLengthByte(length);
            if (lengthByte == HComEnums.NumberOfLengthByte.Overbound)
            {
                return(false);
            }

            byte ret = (byte)((byte)itemFormat << 2 | (byte)lengthByte);

            msgData.Add(ret);

            for (byte b = (byte)lengthByte; b > 0; b--)
            {
                byte retLen = (byte)(length >> (b - 1) * 8 & 0xFF);
                msgData.Add(retLen);
            }

            return(true);
        }