public PeerAddressContract(PeerAddress address)
 {
     PrivateIP = address.PrivateEndPoint.Address.ToString();
     PrivatePort = address.PrivateEndPoint.Port;
     PublicIP = address.PublicEndPoint.Address.ToString();
     PublicPort = address.PublicEndPoint.Port;
 }
 public void Connect(PeerAddress address)
 {
     Peer.Connect(address);
 }
 public void AllowConnection(PeerAddress address)
 {
     Peer.AllowConnection(address);
 }
 protected bool Equals(PeerAddress other)
 {
     return Equals(PrivateEndPoint, other.PrivateEndPoint)
         && Equals(PublicEndPoint, other.PublicEndPoint);
 }