1 /* 2 * The ManaPlus Client 3 * Copyright (C) 2004-2009 The Mana World Development Team 4 * Copyright (C) 2009-2010 The Mana Developers 5 * Copyright (C) 2011-2019 The ManaPlus Developers 6 * Copyright (C) 2019-2021 Andrei Karas 7 * 8 * This file is part of The ManaPlus Client. 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program. If not, see <http://www.gnu.org/licenses/>. 22 */ 23 24 #include "net/eathena/messageout.h" 25 26 #include "net/packetcounters.h" 27 28 #include "net/eathena/network.h" 29 30 #include "logger.h" 31 32 #include "debug.h" 33 34 namespace EAthena 35 { 36 MessageOut(const int16_t id)37MessageOut::MessageOut(const int16_t id) : 38 Net::MessageOut(id), 39 mNetwork(EAthena::Network::instance()) 40 { 41 mNetwork->fixSendBuffer(); 42 mData = mNetwork->mOutBuffer + CAST_SIZE(mNetwork->mOutSize); 43 } 44 ~MessageOut()45MessageOut::~MessageOut() 46 { 47 DEBUGLOG2("writeEnd: ", mPos, "position after end of packet"); 48 } 49 expand(const size_t bytes) const50void MessageOut::expand(const size_t bytes) const 51 { 52 mNetwork->mOutSize += CAST_U32(bytes); 53 PacketCounters::incOutBytes(CAST_S32(bytes)); 54 } 55 56 } // namespace EAthena 57