public void TransportMessage(Who recipient, Message msg) { // packetize the message. lock (msgBuf) { try { // assert that msgBuf is reset. // leave space for the packet header msgBuf.Skip(transport.HeaderSize(), true); tdo.WriteMessage(msg, msgBuf); msgBuf.SetIndex(0); transport.TransportPacket(recipient, msgBuf); } finally { msgBuf.Reset(); } } }