public Peer(IPEndPoint remoteEndPoint, bool isSeed, bool isIncoming)
{
RemoteEndPoint = remoteEndPoint;
IsSeed = isSeed;
IsIncoming = isIncoming;
this.socket = new Socket(remoteEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
Receiver = new RemoteReceiver(this, this.socket);
Sender = new RemoteSender(this, this.socket);
this.blockMissCountMeasure = new CountMeasure(TimeSpan.FromMinutes(10));
WireNode();
}