BACnet.Tagging.TagWriter._writeLengthHeader C# (CSharp) Method

_writeLengthHeader() private method

Writes a tag header with a length LVT
private _writeLengthHeader ( byte tagNumber, ApplicationTag defaultTag, int length ) : void
tagNumber byte The tag number of the header, or 255 for an application tag
defaultTag ApplicationTag The default application tag if the tag number is 255
length int The length LVT of the tag
return void
        private void _writeLengthHeader(byte tagNumber, ApplicationTag defaultTag, int length)
        {
            _writeHeader(tagNumber, defaultTag, (byte)(length >= 0x05 ? 0x05 : length));
            if(length >= ushort.MaxValue)
            {
                _writer.Write((byte)0xFF);
                _writer.Write(new Union4((uint)length).ReverseLE().UInt32);
            }
            else if(length >= 254)
            {
                _writer.Write((byte)0xFE);
                _writer.Write(new Union2((ushort)length).ReverseLE().UInt16);
            }
            else if(length >= 5)
            {
                _writer.Write((byte)length);
            }
        }