├── .github ├── CODEOWNERS ├── CONTRIBUTING.md ├── FUNDING.yml └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .releaserc ├── LICENCE ├── README.md ├── Ruffles.Example ├── DiscoveryExample.cs ├── Program.cs └── Ruffles.Example.csproj ├── Ruffles.Tests ├── Helpers │ └── BufferHelper.cs ├── Ruffles.Tests.csproj └── packages.config ├── Ruffles.nuspec ├── Ruffles.sln ├── Ruffles ├── AssemblyInfo.cs ├── BandwidthTracking │ ├── IBandwidthTracker.cs │ └── SimpleBandwidthTracker.cs ├── Channeling │ ├── ChannelPool.cs │ ├── ChannelType.cs │ ├── Channels │ │ ├── ReliableChannel.cs │ │ ├── ReliableFragmentedChannel.cs │ │ ├── ReliableOrderedChannel.cs │ │ ├── ReliableSequencedChannel.cs │ │ ├── ReliableSequencedFragmentedChannel.cs │ │ ├── Shared │ │ │ ├── PendingIncomingPacket.cs │ │ │ ├── PendingOutgoingPacket.cs │ │ │ └── PendingSend.cs │ │ ├── UnreliableChannel.cs │ │ ├── UnreliableOrderedChannel.cs │ │ └── UnreliableRawChannel.cs │ ├── IChannel.cs │ └── PooledChannelType.cs ├── Collections │ ├── ConcurrentCircularQueue.cs │ ├── HeapableFixedDictionary.cs │ ├── NetTuple.cs │ ├── SlidingSet.cs │ └── SlidingWindow.cs ├── Configuration │ ├── Constants.cs │ └── SocketConfig.cs ├── Connections │ ├── Connection.cs │ └── ConnectionState.cs ├── Core │ ├── NetworkEvent.cs │ ├── NetworkEventType.cs │ └── RuffleSocket.cs ├── Exceptions │ └── MemoryException.cs ├── Hashing │ ├── HashCash.cs │ └── HashProvider.cs ├── Memory │ ├── HeapMemory.cs │ ├── HeapPointers.cs │ ├── IMemoryReleasable.cs │ ├── ManagedMemory.cs │ ├── MemoryManager.cs │ └── MemoryWrapper.cs ├── Messaging │ ├── ChannelRouter.cs │ ├── HeaderPacker.cs │ ├── MessageMerger.cs │ ├── MessageStatus.cs │ ├── MessageType.cs │ └── SequencingUtils.cs ├── Random │ └── RandomProvider.cs ├── Ruffles.csproj ├── Simulation │ ├── NetworkSimulator.cs │ └── SimulatorConfig.cs ├── Time │ └── NetTime.cs └── Utils │ ├── ChannelTypeUtils.cs │ ├── Logging.cs │ └── NumberUtils.cs ├── appveyor.yml └── package-nuget.ps1 /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/.github/CONTRIBUTING.md -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: TwoTenPvP -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/.gitignore -------------------------------------------------------------------------------- /.releaserc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/.releaserc -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/LICENCE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/README.md -------------------------------------------------------------------------------- /Ruffles.Example/DiscoveryExample.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.Example/DiscoveryExample.cs -------------------------------------------------------------------------------- /Ruffles.Example/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.Example/Program.cs -------------------------------------------------------------------------------- /Ruffles.Example/Ruffles.Example.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.Example/Ruffles.Example.csproj -------------------------------------------------------------------------------- /Ruffles.Tests/Helpers/BufferHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.Tests/Helpers/BufferHelper.cs -------------------------------------------------------------------------------- /Ruffles.Tests/Ruffles.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.Tests/Ruffles.Tests.csproj -------------------------------------------------------------------------------- /Ruffles.Tests/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.Tests/packages.config -------------------------------------------------------------------------------- /Ruffles.nuspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.nuspec -------------------------------------------------------------------------------- /Ruffles.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles.sln -------------------------------------------------------------------------------- /Ruffles/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("Ruffles.Tests")] -------------------------------------------------------------------------------- /Ruffles/BandwidthTracking/IBandwidthTracker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/BandwidthTracking/IBandwidthTracker.cs -------------------------------------------------------------------------------- /Ruffles/BandwidthTracking/SimpleBandwidthTracker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/BandwidthTracking/SimpleBandwidthTracker.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/ChannelPool.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/ChannelPool.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/ChannelType.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/ChannelType.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/ReliableChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/ReliableChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/ReliableFragmentedChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/ReliableFragmentedChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/ReliableOrderedChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/ReliableOrderedChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/ReliableSequencedChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/ReliableSequencedChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/ReliableSequencedFragmentedChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/ReliableSequencedFragmentedChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/Shared/PendingIncomingPacket.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/Shared/PendingIncomingPacket.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/Shared/PendingOutgoingPacket.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/Shared/PendingOutgoingPacket.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/Shared/PendingSend.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/Shared/PendingSend.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/UnreliableChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/UnreliableChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/UnreliableOrderedChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/UnreliableOrderedChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/Channels/UnreliableRawChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/Channels/UnreliableRawChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/IChannel.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/IChannel.cs -------------------------------------------------------------------------------- /Ruffles/Channeling/PooledChannelType.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Channeling/PooledChannelType.cs -------------------------------------------------------------------------------- /Ruffles/Collections/ConcurrentCircularQueue.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Collections/ConcurrentCircularQueue.cs -------------------------------------------------------------------------------- /Ruffles/Collections/HeapableFixedDictionary.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Collections/HeapableFixedDictionary.cs -------------------------------------------------------------------------------- /Ruffles/Collections/NetTuple.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Collections/NetTuple.cs -------------------------------------------------------------------------------- /Ruffles/Collections/SlidingSet.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Collections/SlidingSet.cs -------------------------------------------------------------------------------- /Ruffles/Collections/SlidingWindow.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Collections/SlidingWindow.cs -------------------------------------------------------------------------------- /Ruffles/Configuration/Constants.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Configuration/Constants.cs -------------------------------------------------------------------------------- /Ruffles/Configuration/SocketConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Configuration/SocketConfig.cs -------------------------------------------------------------------------------- /Ruffles/Connections/Connection.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Connections/Connection.cs -------------------------------------------------------------------------------- /Ruffles/Connections/ConnectionState.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Connections/ConnectionState.cs -------------------------------------------------------------------------------- /Ruffles/Core/NetworkEvent.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Core/NetworkEvent.cs -------------------------------------------------------------------------------- /Ruffles/Core/NetworkEventType.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Core/NetworkEventType.cs -------------------------------------------------------------------------------- /Ruffles/Core/RuffleSocket.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Core/RuffleSocket.cs -------------------------------------------------------------------------------- /Ruffles/Exceptions/MemoryException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Exceptions/MemoryException.cs -------------------------------------------------------------------------------- /Ruffles/Hashing/HashCash.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Hashing/HashCash.cs -------------------------------------------------------------------------------- /Ruffles/Hashing/HashProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Hashing/HashProvider.cs -------------------------------------------------------------------------------- /Ruffles/Memory/HeapMemory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Memory/HeapMemory.cs -------------------------------------------------------------------------------- /Ruffles/Memory/HeapPointers.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Memory/HeapPointers.cs -------------------------------------------------------------------------------- /Ruffles/Memory/IMemoryReleasable.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Memory/IMemoryReleasable.cs -------------------------------------------------------------------------------- /Ruffles/Memory/ManagedMemory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Memory/ManagedMemory.cs -------------------------------------------------------------------------------- /Ruffles/Memory/MemoryManager.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Memory/MemoryManager.cs -------------------------------------------------------------------------------- /Ruffles/Memory/MemoryWrapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Memory/MemoryWrapper.cs -------------------------------------------------------------------------------- /Ruffles/Messaging/ChannelRouter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Messaging/ChannelRouter.cs -------------------------------------------------------------------------------- /Ruffles/Messaging/HeaderPacker.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Messaging/HeaderPacker.cs -------------------------------------------------------------------------------- /Ruffles/Messaging/MessageMerger.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Messaging/MessageMerger.cs -------------------------------------------------------------------------------- /Ruffles/Messaging/MessageStatus.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Messaging/MessageStatus.cs -------------------------------------------------------------------------------- /Ruffles/Messaging/MessageType.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Messaging/MessageType.cs -------------------------------------------------------------------------------- /Ruffles/Messaging/SequencingUtils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Messaging/SequencingUtils.cs -------------------------------------------------------------------------------- /Ruffles/Random/RandomProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Random/RandomProvider.cs -------------------------------------------------------------------------------- /Ruffles/Ruffles.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Ruffles.csproj -------------------------------------------------------------------------------- /Ruffles/Simulation/NetworkSimulator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Simulation/NetworkSimulator.cs -------------------------------------------------------------------------------- /Ruffles/Simulation/SimulatorConfig.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Simulation/SimulatorConfig.cs -------------------------------------------------------------------------------- /Ruffles/Time/NetTime.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Time/NetTime.cs -------------------------------------------------------------------------------- /Ruffles/Utils/ChannelTypeUtils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Utils/ChannelTypeUtils.cs -------------------------------------------------------------------------------- /Ruffles/Utils/Logging.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Utils/Logging.cs -------------------------------------------------------------------------------- /Ruffles/Utils/NumberUtils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/Ruffles/Utils/NumberUtils.cs -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/appveyor.yml -------------------------------------------------------------------------------- /package-nuget.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MidLevel/Ruffles/HEAD/package-nuget.ps1 --------------------------------------------------------------------------------