/// <summary> /// Directly writes a message into the underlying ITunnel. /// </summary> /// <param name="msg">The message to send.</param> private void _SendMessage(Message msg) { if (msg == null) { return; } if (msg.Type == MessageType.Data) { if (msg.Store.ContainsKey("data")) { Tunnel.DataBytesSent += msg.Store["data"].Length; } if (msg.Store.ContainsKey("message")) { Tunnel.DataBytesSent += msg.Store["message"].Length; } } byte[] raw_message = msg.Serialize(); byte[] final_message = Suite.Encrypt(raw_message); _last_sent = DateTime.Now; if (!Closed) { Tunnel.Send(final_message); } }