diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-08-12 00:44:26 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-08-12 00:45:24 +0200 |
| commit | 4a741258f145af59a224760651e735297ad92101 (patch) | |
| tree | aa432e679516d5760c7ad7e6c7efe41b3adbc0d9 /src/server/authserver/Server/BattlenetSession.cpp | |
| parent | eb8e140f7f76e1fc8927017775c86aede1af47d7 (diff) | |
| parent | c741d2682a1835b0e9a775d1aba9f795db348450 (diff) | |
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Achievements/AchievementMgr.cpp
src/server/game/Battlegrounds/ArenaScore.h
src/server/game/Battlegrounds/Zones/BattlegroundAB.h
src/server/game/Battlegrounds/Zones/BattlegroundAV.h
src/server/game/Battlegrounds/Zones/BattlegroundEY.h
src/server/game/Battlegrounds/Zones/BattlegroundIC.h
src/server/game/Battlegrounds/Zones/BattlegroundSA.h
src/server/game/Battlegrounds/Zones/BattlegroundWS.h
src/server/game/Entities/Creature/Creature.h
src/server/game/Entities/DynamicObject/DynamicObject.h
src/server/game/Entities/Item/Item.h
src/server/game/Entities/Object/Updates/UpdateData.cpp
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Player/Player.h
src/server/game/Entities/Unit/Unit.h
src/server/game/Guilds/Guild.h
src/server/game/Handlers/CharacterHandler.cpp
src/server/game/Handlers/TradeHandler.cpp
src/server/game/Miscellaneous/SharedDefines.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/Spells/Auras/SpellAuraEffects.cpp
src/server/game/World/World.cpp
src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
src/server/scripts/Kalimdor/zone_orgrimmar.cpp
src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
src/server/scripts/Spells/spell_dk.cpp
src/server/scripts/Spells/spell_shaman.cpp
src/server/shared/Packets/ByteBuffer.h
Diffstat (limited to 'src/server/authserver/Server/BattlenetSession.cpp')
| -rw-r--r-- | src/server/authserver/Server/BattlenetSession.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/server/authserver/Server/BattlenetSession.cpp b/src/server/authserver/Server/BattlenetSession.cpp index 0fd08c267f1..e345cd35200 100644 --- a/src/server/authserver/Server/BattlenetSession.cpp +++ b/src/server/authserver/Server/BattlenetSession.cpp @@ -538,17 +538,10 @@ bool Battlenet::Session::HandleRealmJoinRequest(PacketHeader& header, BitStream& return true; } -void Battlenet::Session::ReadHeaderHandler(boost::system::error_code error, size_t transferedBytes) +void Battlenet::Session::ReadDataHandler() { - if (error) - { - CloseSocket(); - return; - } - - BitStream packet(transferedBytes); - std::memcpy(packet.GetBuffer(), GetReadBuffer(), transferedBytes); - _crypt.DecryptRecv(packet.GetBuffer(), transferedBytes); + BitStream packet(MoveData()); + _crypt.DecryptRecv(packet.GetBuffer(), packet.GetSize()); while (!packet.IsRead()) { @@ -589,17 +582,23 @@ void Battlenet::Session::ReadHeaderHandler(boost::system::error_code error, size } } - AsyncReadHeader(); + AsyncReadData(size_t(BufferSizes::Read)); } void Battlenet::Session::Start() { TC_LOG_TRACE("server.battlenet", "Battlenet::Session::Start"); - AsyncReadHeader(); + AsyncReadData(size_t(BufferSizes::Read)); } void Battlenet::Session::AsyncWrite(ServerPacket* packet) { + if (!IsOpen()) + { + delete packet; + return; + } + TC_LOG_TRACE("server.battlenet", "Battlenet::Session::AsyncWrite %s", packet->ToString().c_str()); packet->Write(); |
