Fixed packet double get from pool (changed lockfree to locks like in 0.8 because of ABA problem, but in a bit better way). This should fix some strange crashes
Added manual mode without threads for single-threaded servers
Added [IgnoreDataMember] attribute to NetSerializer
Added SetPosition to NetDataWriter
Added MTU override option
Major performance optimization when using multiple channels (#411)
Increased default MTU to 1024 (from 576)
Moved NTP code to NetManager
Optimized receiving speed (1 copy less)
Fix MTU size when layer enabled
LiteNetLib 0.9.4
Optimize CRC calculating
Added UnsyncedReceiveEvent for making only NetworkReceiveEvent unsynced, while other events called from PollEvents
Optimized packet pool to lock-free structure
Optimized net events pool to lock-free structure
Modified PacketLayerBase so that ProcessInboundPacket and ProcessOutboundPacket are both given the IPEndPoint of the sender/receiver, which is necessary for encryption layers that require per-connection state.
Made NetStatistics thread-safe using Interlocked, PacketLoss is now monotonically increasing (previously, NetManager.Statistics.PacketLoss would drop if a NetPeer was removed).
Flush method of NetManager replaced by NetManager.TriggerUpdate() which works asynchronously.
Fixed list of structs serialization
Some other fixes and optimizations
LiteNetLib 0.9.3.2
(changes since 0.9.3.1)
Fix serializing of List<T> when you register them with static Read/Write methods (#390)
(changes since 0.9.3)
Fix possible infinite(or very long) loop on high-load in PollEvents()
(changes since 0.9.2.2)
Protocol increased to 11
Added support of List<T> for NetSerializer/NetPacketProcessor for custom types (nested types from wiki)
Added dual mode for IPv6 (one socket used for IPv4 and IPv6 - so you get less "receive" threads, but this doesn't tested on any platforms except Win/Linux)
Improved hole punching code
Fixed simultaneous P2P connection (you will get disconnect from one side with DisconnecReason.PeerToPeerConnection) (#374, #366)
Added dual mode for IPv6 (one socket used for IPv4 and IPv6 - so you get less "receive" threads, but this doesn't tested on any platforms except Win/Linux)
... (truncated)
Commits
4a67b09 change lockfree to locks because of possible ABA problem
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps LiteNetLib from 0.9.2.2 to 0.9.5.
Release notes
Sourced from LiteNetLib's releases.
... (truncated)
Commits
4a67b09
change lockfree to locks because of possible ABA probleme96bb61
improve refcount debug code30e86ce
improve merged logicf3bec70
add total size to error info86dfe6b
add debug refcount thing82fb3a7
add more fragment checks to find probleme86e97d
fix for ios239c0b7
fix fragmented packets4f11d39
Fix mtu with layer27c1918
make ResolveAddresses publicDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)