├── .gitignore ├── .nuget ├── NuGet.Config ├── NuGet.exe └── NuGet.targets ├── LICENSE ├── Open.P2P.sln ├── Packages.dgml ├── README.md ├── chat ├── App.xaml ├── App.xaml.cs ├── ChatWindow.xaml ├── ChatWindow.xaml.cs ├── Discovery │ └── IDiscover.cs ├── Open.P2P.ChatExample.csproj ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── app.config ├── source ├── BufferManager │ ├── BuddyBufferAllocator.cs │ ├── BufferAllocator.cs │ ├── IBufferAllocator.cs │ └── SpeedWatcher.cs ├── EventArgs │ ├── ConnectionEventArgs.cs │ ├── NewConnectionEventArgs.cs │ ├── PeerConnectedEventArgs.cs │ └── UdpPacketReceivedEventArgs.cs ├── IO │ ├── CommunicationManager.cs │ ├── Connection.cs │ ├── ConnectionStat.cs │ ├── IConnection.cs │ └── SocketAwaitable.cs ├── Listeners │ ├── ListenerBase.cs │ ├── TcpListener.cs │ └── UdpListener.cs ├── Open.P2P.csproj ├── Peer.cs ├── Peer2Net.nuspec ├── Progress │ ├── BandwidthController.cs │ ├── IBandwidthController.cs │ ├── PerformanceCounters.cs │ ├── PidController.cs │ └── UnlimitedBandwidthController.cs ├── Properties │ └── AssemblyInfo.cs ├── Streams │ ├── PeerStream.cs │ ├── Readers │ │ ├── EotStreamReader.cs │ │ ├── PascalStreamReader.cs │ │ └── PeerStreamReader.cs │ ├── ThrottledStream.cs │ └── Writers │ │ └── PeerStreamWriter.cs ├── Utils │ ├── BlockingPool.cs │ ├── Events.cs │ ├── Guard.cs │ └── TimeExtensions.cs └── Workers │ ├── BackgroundWorker.cs │ ├── BlockingQueue.cs │ ├── ClientWorker.cs │ ├── IWorker.cs │ ├── ScheduledAction.cs │ └── TimedWorker.cs └── tests ├── BandwidthControllerTests.cs ├── BufferAllocatorTests.cs ├── CommunicationIoActorTests.cs ├── ConnectionTests.cs ├── ListenerTests.cs ├── Open.P2P.Tests.csproj ├── PacketHandlerTests.cs ├── PidControllerTests.cs ├── Properties └── AssemblyInfo.cs ├── SillyBufferAllocator.cs └── packages.config /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/.gitignore -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/.nuget/NuGet.Config -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/.nuget/NuGet.exe -------------------------------------------------------------------------------- /.nuget/NuGet.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/.nuget/NuGet.targets -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/LICENSE -------------------------------------------------------------------------------- /Open.P2P.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/Open.P2P.sln -------------------------------------------------------------------------------- /Packages.dgml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/Packages.dgml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/README.md -------------------------------------------------------------------------------- /chat/App.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/App.xaml -------------------------------------------------------------------------------- /chat/App.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/App.xaml.cs -------------------------------------------------------------------------------- /chat/ChatWindow.xaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/ChatWindow.xaml -------------------------------------------------------------------------------- /chat/ChatWindow.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/ChatWindow.xaml.cs -------------------------------------------------------------------------------- /chat/Discovery/IDiscover.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Discovery/IDiscover.cs -------------------------------------------------------------------------------- /chat/Open.P2P.ChatExample.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Open.P2P.ChatExample.csproj -------------------------------------------------------------------------------- /chat/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /chat/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Properties/Resources.Designer.cs -------------------------------------------------------------------------------- /chat/Properties/Resources.resx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Properties/Resources.resx -------------------------------------------------------------------------------- /chat/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Properties/Settings.Designer.cs -------------------------------------------------------------------------------- /chat/Properties/Settings.settings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/Properties/Settings.settings -------------------------------------------------------------------------------- /chat/app.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/chat/app.config -------------------------------------------------------------------------------- /source/BufferManager/BuddyBufferAllocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/BufferManager/BuddyBufferAllocator.cs -------------------------------------------------------------------------------- /source/BufferManager/BufferAllocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/BufferManager/BufferAllocator.cs -------------------------------------------------------------------------------- /source/BufferManager/IBufferAllocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/BufferManager/IBufferAllocator.cs -------------------------------------------------------------------------------- /source/BufferManager/SpeedWatcher.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/BufferManager/SpeedWatcher.cs -------------------------------------------------------------------------------- /source/EventArgs/ConnectionEventArgs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/EventArgs/ConnectionEventArgs.cs -------------------------------------------------------------------------------- /source/EventArgs/NewConnectionEventArgs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/EventArgs/NewConnectionEventArgs.cs -------------------------------------------------------------------------------- /source/EventArgs/PeerConnectedEventArgs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/EventArgs/PeerConnectedEventArgs.cs -------------------------------------------------------------------------------- /source/EventArgs/UdpPacketReceivedEventArgs.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/EventArgs/UdpPacketReceivedEventArgs.cs -------------------------------------------------------------------------------- /source/IO/CommunicationManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/IO/CommunicationManager.cs -------------------------------------------------------------------------------- /source/IO/Connection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/IO/Connection.cs -------------------------------------------------------------------------------- /source/IO/ConnectionStat.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/IO/ConnectionStat.cs -------------------------------------------------------------------------------- /source/IO/IConnection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/IO/IConnection.cs -------------------------------------------------------------------------------- /source/IO/SocketAwaitable.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/IO/SocketAwaitable.cs -------------------------------------------------------------------------------- /source/Listeners/ListenerBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Listeners/ListenerBase.cs -------------------------------------------------------------------------------- /source/Listeners/TcpListener.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Listeners/TcpListener.cs -------------------------------------------------------------------------------- /source/Listeners/UdpListener.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Listeners/UdpListener.cs -------------------------------------------------------------------------------- /source/Open.P2P.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Open.P2P.csproj -------------------------------------------------------------------------------- /source/Peer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Peer.cs -------------------------------------------------------------------------------- /source/Peer2Net.nuspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Peer2Net.nuspec -------------------------------------------------------------------------------- /source/Progress/BandwidthController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Progress/BandwidthController.cs -------------------------------------------------------------------------------- /source/Progress/IBandwidthController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Progress/IBandwidthController.cs -------------------------------------------------------------------------------- /source/Progress/PerformanceCounters.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Progress/PerformanceCounters.cs -------------------------------------------------------------------------------- /source/Progress/PidController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Progress/PidController.cs -------------------------------------------------------------------------------- /source/Progress/UnlimitedBandwidthController.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Progress/UnlimitedBandwidthController.cs -------------------------------------------------------------------------------- /source/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /source/Streams/PeerStream.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Streams/PeerStream.cs -------------------------------------------------------------------------------- /source/Streams/Readers/EotStreamReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Streams/Readers/EotStreamReader.cs -------------------------------------------------------------------------------- /source/Streams/Readers/PascalStreamReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Streams/Readers/PascalStreamReader.cs -------------------------------------------------------------------------------- /source/Streams/Readers/PeerStreamReader.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Streams/Readers/PeerStreamReader.cs -------------------------------------------------------------------------------- /source/Streams/ThrottledStream.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Streams/ThrottledStream.cs -------------------------------------------------------------------------------- /source/Streams/Writers/PeerStreamWriter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Streams/Writers/PeerStreamWriter.cs -------------------------------------------------------------------------------- /source/Utils/BlockingPool.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Utils/BlockingPool.cs -------------------------------------------------------------------------------- /source/Utils/Events.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Utils/Events.cs -------------------------------------------------------------------------------- /source/Utils/Guard.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Utils/Guard.cs -------------------------------------------------------------------------------- /source/Utils/TimeExtensions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Utils/TimeExtensions.cs -------------------------------------------------------------------------------- /source/Workers/BackgroundWorker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Workers/BackgroundWorker.cs -------------------------------------------------------------------------------- /source/Workers/BlockingQueue.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Workers/BlockingQueue.cs -------------------------------------------------------------------------------- /source/Workers/ClientWorker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Workers/ClientWorker.cs -------------------------------------------------------------------------------- /source/Workers/IWorker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Workers/IWorker.cs -------------------------------------------------------------------------------- /source/Workers/ScheduledAction.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Workers/ScheduledAction.cs -------------------------------------------------------------------------------- /source/Workers/TimedWorker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/source/Workers/TimedWorker.cs -------------------------------------------------------------------------------- /tests/BandwidthControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/BandwidthControllerTests.cs -------------------------------------------------------------------------------- /tests/BufferAllocatorTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/BufferAllocatorTests.cs -------------------------------------------------------------------------------- /tests/CommunicationIoActorTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/CommunicationIoActorTests.cs -------------------------------------------------------------------------------- /tests/ConnectionTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/ConnectionTests.cs -------------------------------------------------------------------------------- /tests/ListenerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/ListenerTests.cs -------------------------------------------------------------------------------- /tests/Open.P2P.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/Open.P2P.Tests.csproj -------------------------------------------------------------------------------- /tests/PacketHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/PacketHandlerTests.cs -------------------------------------------------------------------------------- /tests/PidControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/PidControllerTests.cs -------------------------------------------------------------------------------- /tests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /tests/SillyBufferAllocator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/SillyBufferAllocator.cs -------------------------------------------------------------------------------- /tests/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lontivero/peer2net/HEAD/tests/packages.config --------------------------------------------------------------------------------