From 3fcbc0a022ff9abffbc3dafa9a515bab8fa93c74 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Fri, 18 Dec 2015 08:41:36 -0500 Subject: [PATCH] Fill out more of ns_address (not perfect, but better). This is used to wrap netadr_t with more info, used for steam datagram routing. --- public/networksystem/inetworksystem.h | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/public/networksystem/inetworksystem.h b/public/networksystem/inetworksystem.h index f97a6c26..1587fa52 100644 --- a/public/networksystem/inetworksystem.h +++ b/public/networksystem/inetworksystem.h @@ -30,15 +30,29 @@ class CMsgSteamDatagramGameServerAuthTicket; class CUtlStringToken; class CPeerToPeerAddress; +enum ENSAddressType +{ + kAddressDirect, + kAddressP2P, + kAddressProxiedGameServer, + kAddressProxiedClient, + + kAddressMax +}; + class ns_address { public: - inline uint32 IP() const { return m_IP; } - inline uint16 Port() const { return m_Port; } + const netadr_t &GetAddress() const { return m_Address; } + const CSteamID& GetSteamID() const { return m_ID; } + const uint16 GetRemotePort() const { return m_nRemotePort; } + ENSAddressType GetAddressType() const { return m_AddressType; } private: - int iUnknown; - uint32 m_IP; - uint16 m_Port; + netadr_t m_Address; + CSteamID m_ID; + uint16 m_nRemotePort; + int m_Unknown; + ENSAddressType m_AddressType; }; enum