Comments (2)
This actually requires quite a bit of changes into Ruffles since Channels are usually not aware of any reads.
This addition will probably have an impact scaling aswell
from ruffles.
Even if it has an impact scaling, it would be optional (a new channel) and still useful for some games/apps that don't require large scaling.
I'm trying to implement it and I was able to discard only the packets older than the last polling time by storing the current _incomingLowestAckedSequence in another variable inside the Channel whenever I poll (I used UnreliableOrdered as a starting point).
Right now the only thing left is to do is sort them right before polling or to keep sorting as they are inserted into the ConcurrentCircularQueue.
Do you think it's possible or a good idea to add a Sort() method in the ConcurrentCircularQueue based on the sequence number?
Thank you
from ruffles.
Related Issues (20)
- Remove SlidingWindow collections HOT 1
- Rewrite sliding set HOT 1
- Upm support HOT 2
- Simulating latency not working. HOT 2
- Forward Error Correction
- SendTo sync with main thread HOT 3
- RuffleSocket interface HOT 1
- Calling GetCurrentRtt with invalid clientId throws exception HOT 1
- Connection.cs Update() method calls CheckConnectionResends() twice HOT 1
- Hashcash should use stronger hash
- Build against Core 3.1
- Issue with iOS sockets resuming after screen is locked
- Ack packets merging
- ReliableChannel stops receiving after 65535 packets HOT 7
- Add functionality for graceful disconnects with Fragmented channels
- What are my options for encryption?
- Connection after network switch
- Async
- Deadlock in ReliableSequencedChannel.HandleAck(ArraySegment<byte> payload)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ruffles.