-
Notifications
You must be signed in to change notification settings - Fork 596
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sync up with work internally in the Steam code.
* Interface changes: Replaced all CSteamIDs with SteamNetworkingIdentity, which is an abstract concept. Added IPv6 support. This has not been tested at this time, but all the basics are there and any issues should be small bugfixes. Improved and standardized connection debug names. You can set a debug name for a connection, and the full debug string, which includes the Connection ID, transport-specific data, and your name (if any) are printed consistently in logging messages and this name is also present in SteamNetConnectionInfo_t. Connection handles are now the same as the local ConnectionID on the wire. This makes debugging a lot easier. GetListenSocketInfo renamed to GetListenSocketAddress and now actually does something. Split out P2P and ordinary UDP listen sockets into two seperate objects. This simplifies the opensource code (since P2P is not support) * Misc internal code cleanup: Broke up CCrypto monolith, so that we can more easily and cleanly: - Share what we really want to share with Steam. Mainly some text parsing of keys, etc. - Replace the actual crypto primitives with another provider (e.g. libsodium) Delete a whole bunch of unused and messy cruft that was left when we ripped this out from Steam, as well as code and messages specific to relayed connections (supported only on Steam) Switch a bunch of maps to hashmaps instead of red/black tree maps. The CUtlHashMap class comes from Steam and is designed to scale to very large size (N in the millions), and if the table needs to be rehashed, the cost is amortized instead of triggering a large cost all at once. This functionality is not needed. Nor do we need stable handles, so it would be better to use a table based on open addressing. That would be a small optimization and also allow us to get rid of bitstring.*, which unfortunately got added as a result of this change. Added standalone IPv6 address parsing files: ipv6text.*. These are plain C and do not have any dependencies, and could be split out, since they are independenctly useful and, unlike all of our other utility routes (e.g. tier0, tier1, etc), actually worthy of being used outside of Valve.
- Loading branch information
1 parent
145199a
commit d07b7b2
Showing
54 changed files
with
6,350 additions
and
9,079 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Can you guys add the STEAM_ prefix to this too? 🙏