internal PeerId(Peer peer, TorrentManager manager)
{
if (peer == null)
throw new ArgumentNullException(nameof(peer));
SuggestedPieces = new MonoTorrentCollection<int>();
AmChoking = true;
IsChoking = true;
IsAllowedFastPieces = new MonoTorrentCollection<int>();
AmAllowedFastPieces = new MonoTorrentCollection<int>();
LastMessageReceived = DateTime.Now;
LastMessageSent = DateTime.Now;
Peer = peer;
MaxPendingRequests = 2;
MaxSupportedPendingRequests = 50;
Monitor = new ConnectionMonitor();
_sendQueue = new MonoTorrentCollection<PeerMessage>(12);
ExtensionSupports = new ExtensionSupports();
TorrentManager = manager;
InitializeTyrant();
}