Open
Description
The original reason a I/O abstraction layer via bevy_transport
was to support potentially multiple I/O options where direct control over the low level communications may not be possible, particularly with the ISteamNetworkingSockets interface in the Steamworks SDK.
Right now the most mature wrapper around the Steamworks SDK is steamworks-rs, but the ISteamNetworkingSockets interface does not have bindings (see Noxime/steamworks-rs#6), and the existing ones are blocking (see Noxime/steamworks-rs#57). It does contain a Send
and Sync
client that can do the original ISteamNetworking
interface, but according to the official Steamworks documentation, it's considered depercated and may be removed in the future:
NOTE: This API is deprecated and may be removed in a future Steamworks SDK release. Please
use ISteamNetworkingSockets or ISteamNetworkingMessages instead.