aboutsummaryrefslogtreecommitdiff
path: root/src/server/authserver/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-07-27 20:59:22 +0200
committerShauren <shauren.trinity@gmail.com>2014-07-27 20:59:22 +0200
commit2cba07d6a1e319fec6d763daa69af3e29ba837c4 (patch)
tree990d4a22193c066fa9aa20a7c33b4330e9a60086 /src/server/authserver/Server
parent55eafa247d91e24bd59a369daa05b05d20334791 (diff)
parente502e01f5d16964e67685c956e204ae41b756d26 (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.cpp10
-rw-r--r--src/server/authserver/Server/AuthSession.h9
-rw-r--r--src/server/authserver/Server/BattlenetBitStream.h11
-rw-r--r--src/server/authserver/Server/BattlenetSession.h1
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>