BACnet.IP.Bvlc.BvlcHeader.Serialize C# (CSharp) Method

Serialize() public method

Serializes the header to a buffer
public Serialize ( byte buffer, int offset ) : int
buffer byte The buffer to serialize to
offset int The offset to begin serializing
return int
        public int Serialize(byte[] buffer, int offset)
        {
            buffer.WriteUInt8(offset, Magic);
            buffer.WriteUInt8(offset + 1, (byte)Function);
            buffer.WriteUInt16(offset + 2, Length);
            return offset + 4;
        }

Usage Example

Ejemplo n.º 1
0
        /// <summary>
        /// Sends a bvlc message
        /// </summary>
        /// <param name="mac">The BACnet mac address of the destination device</param>
        /// <param name="message"></param>
        private void _sendMessage(Mac mac, IBvlcMessage message)
        {
            // TODO: constant for buffer size, or
            // lease buffers from the UDPAsyncServer instance
            IPEndPoint ep = IPUtils.MacToIPEndPoint(mac);
            byte[] buffer = new byte[1500];
            int offset = 0;
            BvlcHeader header = null;

            header = new BvlcHeader();
            header.Function = message.Function;
            header.Length = 0;
            offset = header.Serialize(buffer, offset);
            offset = message.Serialize(buffer, offset);

            // patch the length in now that it is known
            buffer[2] = (byte)(offset << 8);
            buffer[3] = (byte)(offset);

            _server.Send(ep, buffer, offset);
        }
All Usage Examples Of BACnet.IP.Bvlc.BvlcHeader::Serialize