Commit Graph

15 Commits

Author SHA1 Message Date
Fletcher Dunn 91b2a0352d Fix warning 2020-09-01 12:24:30 -07:00
Fletcher Dunn 4c71718263 Changed callback mechanism.
Now you can register standard function pointers, instead of deriving
from a special class.  This means that Steam and the opensource code
can now work the same, so this fixed issue #124
2020-07-03 18:02:21 -07:00
Fletcher Dunn a9e5e86b28 Added "poll group" interface.
This is used to poll many connections in a single function call.  Previously,
this was only possible if all of the connections were those accepted on the
same listen socket.  (ReceiveMessagesOnListenSocket).  But this left out at
least two important use cases with known users:

- If you create more than one listen socket (because there is more way to
  contact your service, e.g. once for P2P and another for direct IP, and
  another for relayed connections), then you could not poll all of the
  connections efficiently.
- In P2P use cases, we may initiate many connections to peers, and we want
  to poll all of them at once.

This change is relevant to: Issue #49, Issue #50, and issue #52.  (But I don't
this it really "fixes" any of them.)
2019-12-05 15:51:33 -08:00
Fletcher Dunn aa50330f1f Add method to send a messgae without copying payload.
Fixes #51
2019-09-23 14:13:08 -07:00
Fletcher Dunn 140498490e API to atomically set initial options.
Added a mechanism to set initial options when creating a listen socket or
connection.
2019-09-02 14:34:11 -07:00
Fletcher Dunn e8bba6ade1 Added interface for app to provision cert.
Also:
- STEAMNETWORKINGSOCKETS_STEAM now mens "running on steam", not "running using
  the steam client".  STEAMNETWORKINGSOCKETS_STEAMCLIENT is for that.
- Refactored stats stuff, moved it into the namespace.  At one point I thought
  I might expose some stuff in a public interface.  For now, keeping it internal.
- Removed concept of Steam "universe" from this branch of the code.
- Don't use OVERRIDE, override works.
2019-08-29 13:42:17 -07:00
Dedmen Miller 639c093138 Fix very minor typo 2019-03-20 12:56:46 +01:00
Fletcher Dunn cb911a0277 Adjusted hacks for running without Steam.
(No functional change for opensource version.)
2019-02-09 12:19:16 -08:00
Fletcher Dunn cf12240f9a Tweak init of test/example when linking with Steam.
(No functional change in this lib.)
2019-02-05 13:13:45 -08:00
Steven Noonan 04831cf688 silence some -Wswitch warnings
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2019-01-30 21:06:14 -08:00
Fletcher Dunn 5d20204781 Overhaul how configurtion options are set.
Moved them to ISteamNetworkingUtils, which is now actually shared Steam (mostly) with a real accessor and and interface, and not a dummy interface object with all static methods.

Connection settings have a system of inheritance, so they can be set globally, per SteamNetworkingSockets interface, per listen socket, or per connection.

Deleted the config variable to simulate fake *message* loss.  That is not useful.

Introduced STEAMNETWORKINGSOCKETS_ENABLE_SDR define, to make it more clear why code is being #ifdef'ed out.  (E.g. if we open-sourced that code, we would want that included.)

Replaced ESteamNetworkingSendType with a basic flags bitmask.

Cleaned up a bunch of comments.

Changed SteamNetworkingMessage_t release mechanism.  Now the callback is only to free the buffer, and it's assumed that this API will manage the actual objects.  (This is important because the actual type is a derived type and has extra stuff on the end.)  Also laid some groundwork for user management of message objects.  (Relevant for issue #51.)
2019-01-30 10:58:38 -08:00
Fletcher Dunn e2194a23c7 SetDebugOutputFunction cleanup.
Make it a method of ISteamnetworkingUtils method.  This matches Steam.

Make sure ESteamNetworkingSocketsDebugOutputType is 32-bits, and declare the output callback to take an enum instead of int.
2019-01-23 21:08:10 -08:00
Steven Noonan bd41f176bb example_chat: remove unused m_bConnected variable
Signed-off-by: Steven Noonan <steven@valvesoftware.com>
2019-01-16 23:50:37 -08:00
Fletcher Dunn 104df063b1 Fix windows compile. 2019-01-12 17:49:56 -08:00
Fletcher Dunn 8085c9c549 Added a simple chat client/server example. 2019-01-12 17:00:06 -08:00