Rename SendDataManager to SendBuffer, which is a clear and proper name.
This commit is contained in:
@@ -37,7 +37,7 @@ ChatCleanerManager::ChatCleanerManager(ChatCleanerCallback &cb, boost::shared_pt
|
||||
m_resolver.reset(
|
||||
new boost::asio::ip::tcp::resolver(*m_ioService));
|
||||
m_sendManager.reset(
|
||||
new SendDataManager);
|
||||
new SendBuffer);
|
||||
}
|
||||
|
||||
ChatCleanerManager::~ChatCleanerManager()
|
||||
@@ -248,7 +248,7 @@ ChatCleanerManager::HandleMessage(InternalChatCleanerPacket &msg)
|
||||
void
|
||||
ChatCleanerManager::SendMessageToServer(InternalChatCleanerPacket &msg)
|
||||
{
|
||||
asn_enc_rval_t e = der_encode(&asn_DEF_ChatCleanerMessage, msg.GetMsg(), &SendDataManager::EncodeToBuf, &m_sendManager);
|
||||
asn_enc_rval_t e = der_encode(&asn_DEF_ChatCleanerMessage, msg.GetMsg(), &SendBuffer::EncodeToBuf, &m_sendManager);
|
||||
|
||||
if (e.encoded == -1)
|
||||
LOG_ERROR("Failed to encode chat cleaner packet: " << msg.GetMsg()->present);
|
||||
|
||||
@@ -27,20 +27,20 @@ using namespace std;
|
||||
using boost::asio::ip::tcp;
|
||||
|
||||
|
||||
SendDataManager::SendDataManager()
|
||||
SendBuffer::SendBuffer()
|
||||
: sendBuf(NULL), curWriteBuf(NULL), sendBufAllocated(0), sendBufUsed(0),
|
||||
curWriteBufAllocated(0), curWriteBufUsed(0)
|
||||
{
|
||||
}
|
||||
|
||||
SendDataManager::~SendDataManager()
|
||||
SendBuffer::~SendBuffer()
|
||||
{
|
||||
free(sendBuf);
|
||||
free(curWriteBuf);
|
||||
}
|
||||
|
||||
void
|
||||
SendDataManager::HandleWrite(boost::shared_ptr<boost::asio::ip::tcp::socket> socket, const boost::system::error_code &error)
|
||||
SendBuffer::HandleWrite(boost::shared_ptr<boost::asio::ip::tcp::socket> socket, const boost::system::error_code &error)
|
||||
{
|
||||
if (!error) {
|
||||
// Successfully sent the data.
|
||||
@@ -52,7 +52,7 @@ SendDataManager::HandleWrite(boost::shared_ptr<boost::asio::ip::tcp::socket> soc
|
||||
}
|
||||
|
||||
void
|
||||
SendDataManager::AsyncSendNextPacket(boost::shared_ptr<boost::asio::ip::tcp::socket> socket)
|
||||
SendBuffer::AsyncSendNextPacket(boost::shared_ptr<boost::asio::ip::tcp::socket> socket)
|
||||
{
|
||||
if (!curWriteBufUsed) {
|
||||
// Swap buffers and send data.
|
||||
@@ -63,7 +63,7 @@ SendDataManager::AsyncSendNextPacket(boost::shared_ptr<boost::asio::ip::tcp::soc
|
||||
boost::asio::async_write(
|
||||
*socket,
|
||||
boost::asio::buffer(curWriteBuf, curWriteBufUsed),
|
||||
boost::bind(&SendDataManager::HandleWrite,
|
||||
boost::bind(&SendBuffer::HandleWrite,
|
||||
shared_from_this(),
|
||||
socket,
|
||||
boost::asio::placeholders::error));
|
||||
@@ -72,9 +72,9 @@ SendDataManager::AsyncSendNextPacket(boost::shared_ptr<boost::asio::ip::tcp::soc
|
||||
}
|
||||
|
||||
int
|
||||
SendDataManager::EncodeToBuf(const void *data, size_t size, void *arg)
|
||||
SendBuffer::EncodeToBuf(const void *data, size_t size, void *arg)
|
||||
{
|
||||
SendDataManager *m = (SendDataManager *)arg;
|
||||
SendBuffer *m = (SendBuffer *)arg;
|
||||
|
||||
// Realloc buffer if necessary.
|
||||
while (m->GetSendBufLeft() < size) {
|
||||
|
||||
@@ -41,12 +41,12 @@ void
|
||||
SenderHelper::Send(boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
|
||||
{
|
||||
if (packet && session) {
|
||||
SendDataManager &tmpManager = session->GetSendDataManager();
|
||||
SendBuffer &tmpBuffer = session->GetSendBuffer();
|
||||
// Add packet to specific queue.
|
||||
boost::mutex::scoped_lock lock(tmpManager.dataMutex);
|
||||
InternalStorePacket(tmpManager, packet);
|
||||
boost::mutex::scoped_lock lock(tmpBuffer.dataMutex);
|
||||
InternalStorePacket(tmpBuffer, packet);
|
||||
// Activate async send, if needed.
|
||||
tmpManager.AsyncSendNextPacket(session->GetAsioSocket());
|
||||
tmpBuffer.AsyncSendNextPacket(session->GetAsioSocket());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,25 +54,25 @@ void
|
||||
SenderHelper::Send(boost::shared_ptr<SessionData> session, const NetPacketList &packetList)
|
||||
{
|
||||
if (!packetList.empty() && session) {
|
||||
SendDataManager &tmpManager = session->GetSendDataManager();
|
||||
SendBuffer &tmpBuffer = session->GetSendBuffer();
|
||||
// Add packets to specific queue.
|
||||
boost::mutex::scoped_lock lock(tmpManager.dataMutex);
|
||||
boost::mutex::scoped_lock lock(tmpBuffer.dataMutex);
|
||||
NetPacketList::const_iterator i = packetList.begin();
|
||||
NetPacketList::const_iterator end = packetList.end();
|
||||
while (i != end) {
|
||||
if (*i)
|
||||
InternalStorePacket(tmpManager, *i);
|
||||
InternalStorePacket(tmpBuffer, *i);
|
||||
++i;
|
||||
}
|
||||
// Activate async send, if needed.
|
||||
tmpManager.AsyncSendNextPacket(session->GetAsioSocket());
|
||||
tmpBuffer.AsyncSendNextPacket(session->GetAsioSocket());
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
SenderHelper::InternalStorePacket(SendDataManager &tmpManager, boost::shared_ptr<NetPacket> packet)
|
||||
SenderHelper::InternalStorePacket(SendBuffer &tmpBuffer, boost::shared_ptr<NetPacket> packet)
|
||||
{
|
||||
asn_enc_rval_t e = der_encode(&asn_DEF_PokerTHMessage, packet->GetMsg(), &SendDataManager::EncodeToBuf, &tmpManager);
|
||||
asn_enc_rval_t e = der_encode(&asn_DEF_PokerTHMessage, packet->GetMsg(), &SendBuffer::EncodeToBuf, &tmpBuffer);
|
||||
//cerr << "OUT:" << endl << packet->ToString() << endl;
|
||||
if (e.encoded == -1)
|
||||
LOG_ERROR("Failed to encode NetPacket: " << packet->GetMsg()->present);
|
||||
|
||||
@@ -30,7 +30,7 @@ SessionData::SessionData(boost::shared_ptr<boost::asio::ip::tcp::socket> sock, S
|
||||
m_autoDisconnectTimer(boost::posix_time::time_duration(0, 0, 0), boost::timers::portable::microsec_timer::auto_start),
|
||||
m_callback(cb), m_authSession(NULL), m_curAuthStep(0)
|
||||
{
|
||||
m_sendDataManager.reset(new SendDataManager);
|
||||
m_sendBuffer.reset(new SendBuffer);
|
||||
}
|
||||
|
||||
SessionData::~SessionData()
|
||||
|
||||
Reference in New Issue
Block a user