diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-07-27 20:59:22 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-07-27 20:59:22 +0200 |
| commit | 2cba07d6a1e319fec6d763daa69af3e29ba837c4 (patch) | |
| tree | 990d4a22193c066fa9aa20a7c33b4330e9a60086 /src/server/authserver/Server | |
| parent | 55eafa247d91e24bd59a369daa05b05d20334791 (diff) | |
| parent | e502e01f5d16964e67685c956e204ae41b756d26 (diff) | |
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
README.md
src/server/game/Entities/Object/Object.cpp
src/server/game/Entities/Object/Updates/UpdateData.h
src/server/game/Server/WorldPacket.h
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSession.h
src/server/game/Server/WorldSocket.cpp
src/server/game/Server/WorldSocket.h
src/server/shared/Packets/ByteBuffer.h
Diffstat (limited to 'src/server/authserver/Server')
| -rw-r--r-- | src/server/authserver/Server/AuthSession.cpp | 10 | ||||
| -rw-r--r-- | src/server/authserver/Server/AuthSession.h | 9 | ||||
| -rw-r--r-- | src/server/authserver/Server/BattlenetBitStream.h | 11 | ||||
| -rw-r--r-- | src/server/authserver/Server/BattlenetSession.h | 1 |
4 files changed, 20 insertions, 11 deletions
diff --git a/src/server/authserver/Server/AuthSession.cpp b/src/server/authserver/Server/AuthSession.cpp index b2fb516804f..efffbda2e91 100644 --- a/src/server/authserver/Server/AuthSession.cpp +++ b/src/server/authserver/Server/AuthSession.cpp @@ -18,7 +18,6 @@ #include "AuthSession.h" #include "Log.h" -#include "ByteBuffer.h" #include "AuthCodes.h" #include "Database/DatabaseEnv.h" #include "SHA1.h" @@ -173,19 +172,16 @@ void AuthSession::ReadDataHandler(boost::system::error_code error, size_t transf CloseSocket(); } -void AuthSession::AsyncWrite(ByteBuffer const& packet) +void AuthSession::AsyncWrite(ByteBuffer& packet) { - std::vector<uint8> data(packet.size()); - std::memcpy(data.data(), packet.contents(), packet.size()); - std::lock_guard<std::mutex> guard(_writeLock); bool needsWriteStart = _writeQueue.empty(); - _writeQueue.push(std::move(data)); + _writeQueue.push(std::move(packet)); if (needsWriteStart) - AsyncWrite(_writeQueue.front()); + Base::AsyncWrite(_writeQueue.front()); } bool AuthSession::HandleLogonChallenge() diff --git a/src/server/authserver/Server/AuthSession.h b/src/server/authserver/Server/AuthSession.h index eedffb86ff8..14129d76fd8 100644 --- a/src/server/authserver/Server/AuthSession.h +++ b/src/server/authserver/Server/AuthSession.h @@ -20,6 +20,7 @@ #define __AUTHSESSION_H__ #include "Common.h" +#include "ByteBuffer.h" #include "Socket.h" #include "BigNumber.h" #include <memory> @@ -28,10 +29,10 @@ using boost::asio::ip::tcp; struct AuthHandler; -class ByteBuffer; -class AuthSession : public Socket<AuthSession> +class AuthSession : public Socket<AuthSession, ByteBuffer> { + typedef Socket<AuthSession, ByteBuffer> Base; public: static std::unordered_map<uint8, AuthHandler> InitHandlers(); @@ -47,8 +48,8 @@ public: AsyncReadHeader(); } - using Socket<AuthSession>::AsyncWrite; - void AsyncWrite(ByteBuffer const& packet); + using Base::AsyncWrite; + void AsyncWrite(ByteBuffer& packet); protected: void ReadHeaderHandler(boost::system::error_code error, size_t transferedBytes) override; diff --git a/src/server/authserver/Server/BattlenetBitStream.h b/src/server/authserver/Server/BattlenetBitStream.h index 86bf5549380..90f883856a3 100644 --- a/src/server/authserver/Server/BattlenetBitStream.h +++ b/src/server/authserver/Server/BattlenetBitStream.h @@ -234,4 +234,15 @@ namespace Battlenet bool BitStream::Read<bool>(uint32 bitCount); } +namespace boost +{ + namespace asio + { + inline const_buffers_1 buffer(Battlenet::BitStream const& stream) + { + return buffer(stream.GetBuffer(), stream.GetSize()); + } + } +} + #endif // __BATTLENETBITSTREAM_H__ diff --git a/src/server/authserver/Server/BattlenetSession.h b/src/server/authserver/Server/BattlenetSession.h index 4c1614cb839..705aa468a4c 100644 --- a/src/server/authserver/Server/BattlenetSession.h +++ b/src/server/authserver/Server/BattlenetSession.h @@ -20,6 +20,7 @@ #include "BattlenetPackets.h" #include "BattlenetPacketCrypt.h" +#include "Socket.h" #include "BigNumber.h" #include <memory> #include <boost/asio/ip/tcp.hpp> |
