/// <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);
}