diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-07-12 18:55:51 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-07-12 18:55:51 +0200 |
commit | 359258cb074a60a2e95a354d2d19d4a20b9ffcd7 (patch) | |
tree | c8995fdcbc36d24e40dd2549e0dbfa006550ce61 /src/server/authserver/Server/AuthSession.h | |
parent | 7760b8e4ed5f9b2a44eba50adf1dc1d14d0dd953 (diff) |
Core/Authserver: Optimize auth packet handler lookup
Diffstat (limited to 'src/server/authserver/Server/AuthSession.h')
-rw-r--r-- | src/server/authserver/Server/AuthSession.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/server/authserver/Server/AuthSession.h b/src/server/authserver/Server/AuthSession.h index 844de0ed787..06c1b79bf3e 100644 --- a/src/server/authserver/Server/AuthSession.h +++ b/src/server/authserver/Server/AuthSession.h @@ -32,6 +32,7 @@ using boost::asio::ip::tcp; class ByteBuffer; struct AuthHandler; +enum eAuthCmd : uint8; enum AuthStatus { @@ -63,7 +64,7 @@ class AuthSession : public Socket<AuthSession> typedef Socket<AuthSession> AuthSocket; public: - static std::unordered_map<uint8, AuthHandler> InitHandlers(); + static consteval std::array<AuthHandler, 10> InitHandlers(); AuthSession(tcp::socket&& socket); @@ -106,15 +107,12 @@ private: QueryCallbackProcessor _queryProcessor; }; -#pragma pack(push, 1) - struct AuthHandler { + eAuthCmd cmd; AuthStatus status; size_t packetSize; bool (AuthSession::*handler)(); }; -#pragma pack(pop) - #endif |