diff options
Diffstat (limited to 'src/server/authserver/Server/BattlenetSession.h')
| -rw-r--r-- | src/server/authserver/Server/BattlenetSession.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/server/authserver/Server/BattlenetSession.h b/src/server/authserver/Server/BattlenetSession.h index 705aa468a4c..afd0b5fe0b3 100644 --- a/src/server/authserver/Server/BattlenetSession.h +++ b/src/server/authserver/Server/BattlenetSession.h @@ -51,10 +51,11 @@ namespace Battlenet Read = 0x4000 }; - class Session : public std::enable_shared_from_this<Session> + class Session : public Socket<Session, ServerPacket*> { - public: + typedef Socket<Session, ServerPacket*> Base; + public: explicit Session(tcp::socket&& socket); ~Session(); @@ -74,11 +75,14 @@ namespace Battlenet bool HandleRealmUpdateSubscribe(PacketHeader& header, BitStream& packet); bool HandleRealmJoinRequest(PacketHeader& header, BitStream& packet); - void Start(); - void AsyncRead(); + void Start() override; void AsyncWrite(ServerPacket* packet); + protected: + void ReadHeaderHandler(boost::system::error_code error, size_t transferedBytes) override; + void ReadDataHandler(boost::system::error_code /*error*/, size_t /*transferedBytes*/) override { } + private: void _SetVSFields(std::string const& rI); @@ -91,12 +95,6 @@ namespace Battlenet bool HandleResumeModule(BitStream* dataStream, ServerPacket** response); bool UnhandledModule(BitStream* dataStream, ServerPacket** response); - std::string GetRemoteAddress() const { return _socket.remote_endpoint().address().to_string(); } - uint16 GetRemotePort() const { return _socket.remote_endpoint().port(); } - - tcp::socket _socket; - uint8 _readBuffer[size_t(BufferSizes::Read)]; - uint32 _accountId; std::string _accountName; std::string _locale; |
