private void RemovePeerFromDictionaries(PeerData peer, string reason) { if (peer != null) { if (PeersTx.ContainsKey(peer.SubnetworkIP)) { PeersTx.Remove(peer.SubnetworkIP); } if (PeersRxSupport.ContainsKey(peer.GetSupportEndpoint())) { PeersRxSupport.Remove(peer.GetSupportEndpoint()); } if (PeersRxTransmission.ContainsKey(peer.GetSupportEndpoint())) { PeersRxTransmission.Remove(peer.GetTransmissionEndpoint()); } OnPeerListChanged(this, new PeerListChangedEventArgs(PeersRxSupport.Values.ToArray())); if (reason != null) { Logger.Instance.LogMsg("Usunięto użytkownika (" + reason + "): " + peer.ToString()); } else { Logger.Instance.LogMsg("Usunięto użytkownika: " + peer.ToString()); } } }
private void AddPeerToDictionaries(PeerData peer) { if (peer != null) { PeersTx.Add(peer.SubnetworkIP, peer); PeersRxSupport.Add(peer.GetSupportEndpoint(), peer); PeersRxTransmission.Add(peer.GetTransmissionEndpoint(), peer); OnPeerListChanged(this, new PeerListChangedEventArgs(PeersRxSupport.Values.ToArray())); Logger.Instance.LogMsg("Dodano użytkownika: " + peer.ToString()); } }
private void EncryptAndSendTransmissionPacket(byte[] data, PeerData peer) { byte[] encryptedData = Encryption.Encrypt(data, peer.KeyIndex); if (encryptedData != null) { UdpTransmission.Send(encryptedData, encryptedData.Length, peer.GetTransmissionEndpoint()); Stats.ULBytes += (ulong)data.Length; Stats.ULPackets++; peer.Stats.ULBytes += (ulong)data.Length; peer.Stats.ULPackets++; } }