public void Disconnect()
 {
     if (this.protocol != null)
     {
         this.protocol.Disconnect();
         this.protocol = null;
     }
     lock (this.responses)
     {
         foreach (var response in this.responses.Values)
         {
             response.Dispose();
         }
         this.responses.Clear();
     }
 }
 public static void Send(this INodeEndpointProtocol protocol, string message)
 {
     protocol.Send(message.NodeServiceEncode());
 }