Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam Networking Sockets transport implementation #2

Open
james7132 opened this issue May 30, 2021 · 1 comment
Open

Steam Networking Sockets transport implementation #2

james7132 opened this issue May 30, 2021 · 1 comment
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@james7132
Copy link
Member

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. 
@james7132 james7132 added enhancement New feature or request help wanted Extra attention is needed labels May 30, 2021
@james7132
Copy link
Member Author

A preliminary ISteamNetworking implementation is done as of b444e03. A full ISteamNetworkingSockets implementation will likely require the bindings to be present in steamworks-rs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant