private void SendAnnouncementBlockWanted(BinaryNumber fileID, int blockNumber) { byte[] packetData = BitChatMessage.CreateFileBlockWanted(fileID, blockNumber); //announce to all peers _peersLock.EnterReadLock(); try { foreach (BitChatNetwork.VirtualPeer.VirtualSession peer in _peers) { peer.WriteMessage(packetData, 0, packetData.Length); } } finally { _peersLock.ExitReadLock(); } //announce to all seeds _seedersLock.EnterReadLock(); try { foreach (BitChatNetwork.VirtualPeer.VirtualSession seeder in _seeders) { seeder.WriteMessage(packetData, 0, packetData.Length); } } finally { _seedersLock.ExitReadLock(); } }
private void AnnounceBlockWanted(int blockNumber) { byte[] packetData = BitChatMessage.CreateFileBlockWanted(new FileBlockWanted(_metaData.FileID, blockNumber)); //announce to all peers lock (_peers) { foreach (BitChat.Peer peer in _peers) { peer.WritePacket(packetData, 0, packetData.Length); } } //announce to all seeds lock (_seeders) { foreach (BitChat.Peer seeder in _seeders) { seeder.WritePacket(packetData, 0, packetData.Length); } } }