aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver/Server/AuthSession.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-07-12 18:55:51 +0200
committerShauren <shauren.trinity@gmail.com>2025-07-12 18:55:51 +0200
commit359258cb074a60a2e95a354d2d19d4a20b9ffcd7 (patch)
treec8995fdcbc36d24e40dd2549e0dbfa006550ce61 /src/server/authserver/Server/AuthSession.h
parent7760b8e4ed5f9b2a44eba50adf1dc1d14d0dd953 (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.h8
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