// This is invoked when a new P2P peer connection is formed public void OnP2pPeerConnected(object sender, EventArgs e) { // Get peer data var P2pPeer = (P2pPeer)sender; // Check if this peer is already in our peer list if (PeerList.Count(x => x.P2pPeer == P2pPeer) == 0) { // Add this peer to our peer list var Peer = AddPeer(P2pPeer); // Handshake with this peer if (!P2pPeer.IsIncoming) { Handshake(Peer); } } }