DarkRiftNetworking / Hazel-Networking

Hazel Networking is a low level networking library for C# providing connection orientated, message based communication via TCP, UDP and RUDP.
http://www.darkriftnetworking.com
MIT License
206 stars 44 forks source link

Added pption to force reliable ordering of TCP messages. #15

Open Rich2020 opened 6 years ago

Rich2020 commented 6 years ago

Hi Jamie,

As discussed, I've made an option to toggle the forced reliability of TCP message ordering.

I've made changes to two files:

I took a quick look, and it seems that the TcpOptions class is a clean way to go as we do not want to have to set forced order reliability twice (on connection and on args.Connection in the NewConnectioncallback).

To use this, simply put TcpOptions.ForceReliableOrdering = true; anywhere in your code and messages will arrive in the order in which they were sent. By default, this option is set to false.

Please note that I had to add .vs/ to the bottom of the .gitignore file as I was gettingsqllite.db locks... see: https://stackoverflow.com/a/48220209/596841

Hope this change is acceptable and that it is helpful.

Kind regards, Rich

JamJar00 commented 6 years ago

Hi Rich,

Sorry about the delay in reviewing this, my internet's been intermittent the last week!

The changes all look good but my only concern is that some people may prefer the property to be different between connections hence being better as a property of TcpConnection. Maybe new connections could be given the correct value based upon a value set in the listener?

The change for the VSCode folder is absolutely fine!

Jamie