v1.4.0 Multi-lane support
Version 1.4.0 adds support for multiple lanes, improves compliance with vcpkg best practices, and has numerous smaller bugfixes and improvements.
This brings the library in sync with the Steamworks SDK version 153a.
Multi-lane support
"Lanes" can be used to control head-of-line blocking behaviour. You can control the priority level of each lane and how bandwidth should be shared between different lanes.
Lanes are similar to what QUIC calls "streams", and what other networking APIs call "channels".
See ISteamNetworkingSockets::ConfigureConnectionLanes
for details.
Misc bugfixes / improvements
- Fixed bug setting the connection userdata via the config var
k_ESteamNetworkingConfig_ConnectionUserData
, which is necessary when setting it at connection creation. - Simplified iteration of configuration values and controlling when to list "dev" values.
- Added configuration values to configure TURN servers for use by WebRTC
- Improved handling of closing connections in the linger state that did not need to linger.
- Attempt to clean up connections on library shutdown that were left open or in the linger state.
- Added several more tests
- You can now build the cert tool by passing
-DBUILD_TOOLS=ON
to cmake - Improved cmake files, manifests, and build instructions to improve compliance with vcpkg best practices. (Some work still remains in this area. If you are a cmake/vcpkg expert, please help!)
- Added a test/example project that shows how to pull in this library using vcpkg, without fetching or compiling the code directly.
- Removed a bunch of declarations for Steam internal things from the headers
- Added a CI build for windows on github
Other changes
- The "FakeIP" framework was added to the Steamworks SDK. That feature requires Steam backend support and is not supported in this opensource code, but the declarations are present in the header.
GetQuickConnectionStatus
renamed toGetConnectionRealTimeStatus
and now can return information about the status of each outbound lane.SteamNetworkingQuickConnectionStatus
was also renamed toSteamNetConnectionRealTimeStatus_t
.