diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-07-27 21:50:01 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-07-27 21:50:01 +0200 |
| commit | c8a241c49e2bf7c26e84a9fbfad1b231ec768795 (patch) | |
| tree | cd6f6ce4cf84aac73fbb881494bb8b39d849e46c /src/server/authserver/Server/BattlenetSession.h | |
| parent | 2cba07d6a1e319fec6d763daa69af3e29ba837c4 (diff) | |
Core/Network: Use base Socket class for battle.net
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; |
