18#ifndef __AUTHSESSION_H__
19#define __AUTHSESSION_H__
30#include <boost/asio/ip/tcp.hpp>
33using boost::asio::ip::tcp;
71 void Start()
override;
std::array< uint8, SESSION_KEY_LENGTH > SessionKey
@ STATUS_WAITING_FOR_REALM_LIST
std::shared_ptr< PreparedResultSet > PreparedQueryResult
std::chrono::minutes Minutes
Minutes shorthand typedef.
std::optional< T > Optional
Optional helper class to wrap optional values within.
void QueueQuery(QueryCallback &&queryCallback)
Trinity::Asio::DeadlineTimer _timeout
Optional< Trinity::Crypto::SRP6 > _srp6
bool HandleLogonChallenge()
bool VerifyVersion(std::span< uint8 const > a, Trinity::Crypto::SHA1::Digest const &versionProof, bool isReconnect)
void RealmListCallback(PreparedQueryResult result)
std::string_view _ipCountry
void ReconnectChallengeCallback(PreparedQueryResult result)
bool HandleReconnectChallenge()
Trinity::Net::SocketReadCallbackResult ReadHandler() override
QueryCallbackProcessor _queryProcessor
void SendPacket(ByteBuffer &packet)
void LogonChallengeCallback(PreparedQueryResult result)
Optional< std::vector< uint8 > > _totpSecret
bool HandleReconnectProof()
std::array< uint8, 16 > _reconnectProof
Class used to access individual fields of database query result.
std::array< uint8, DIGEST_LENGTH > Digest
Socket(IoContextTcpSocket &&socket, Args &&... args)
boost::asio::basic_stream_socket< boost::asio::ip::tcp, boost::asio::io_context::executor_type > IoContextTcpSocket
void LoadResult(Field *fields)
AccountTypes SecurityLevel
bool IsPermanenetlyBanned