Rename SendDataManager to SendBuffer, which is a clear and proper name.
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
#include <net/chatcleanercallback.h>
|
#include <net/chatcleanercallback.h>
|
||||||
#include <net/internalchatcleanerpacket.h>
|
#include <net/internalchatcleanerpacket.h>
|
||||||
|
|
||||||
class SendDataManager;
|
class SendBuffer;
|
||||||
|
|
||||||
class ChatCleanerManager : public boost::enable_shared_from_this<ChatCleanerManager>
|
class ChatCleanerManager : public boost::enable_shared_from_this<ChatCleanerManager>
|
||||||
{
|
{
|
||||||
@@ -57,7 +57,7 @@ private:
|
|||||||
boost::shared_ptr<boost::asio::io_service> m_ioService;
|
boost::shared_ptr<boost::asio::io_service> m_ioService;
|
||||||
boost::shared_ptr<boost::asio::ip::tcp::resolver> m_resolver;
|
boost::shared_ptr<boost::asio::ip::tcp::resolver> m_resolver;
|
||||||
boost::shared_ptr<boost::asio::ip::tcp::socket> m_socket;
|
boost::shared_ptr<boost::asio::ip::tcp::socket> m_socket;
|
||||||
boost::shared_ptr<SendDataManager> m_sendManager;
|
boost::shared_ptr<SendBuffer> m_sendManager;
|
||||||
|
|
||||||
bool m_connected;
|
bool m_connected;
|
||||||
unsigned m_curRequestId;
|
unsigned m_curRequestId;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ ChatCleanerManager::ChatCleanerManager(ChatCleanerCallback &cb, boost::shared_pt
|
|||||||
m_resolver.reset(
|
m_resolver.reset(
|
||||||
new boost::asio::ip::tcp::resolver(*m_ioService));
|
new boost::asio::ip::tcp::resolver(*m_ioService));
|
||||||
m_sendManager.reset(
|
m_sendManager.reset(
|
||||||
new SendDataManager);
|
new SendBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
ChatCleanerManager::~ChatCleanerManager()
|
ChatCleanerManager::~ChatCleanerManager()
|
||||||
@@ -248,7 +248,7 @@ ChatCleanerManager::HandleMessage(InternalChatCleanerPacket &msg)
|
|||||||
void
|
void
|
||||||
ChatCleanerManager::SendMessageToServer(InternalChatCleanerPacket &msg)
|
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)
|
if (e.encoded == -1)
|
||||||
LOG_ERROR("Failed to encode chat cleaner packet: " << msg.GetMsg()->present);
|
LOG_ERROR("Failed to encode chat cleaner packet: " << msg.GetMsg()->present);
|
||||||
|
|||||||
@@ -27,20 +27,20 @@ using namespace std;
|
|||||||
using boost::asio::ip::tcp;
|
using boost::asio::ip::tcp;
|
||||||
|
|
||||||
|
|
||||||
SendDataManager::SendDataManager()
|
SendBuffer::SendBuffer()
|
||||||
: sendBuf(NULL), curWriteBuf(NULL), sendBufAllocated(0), sendBufUsed(0),
|
: sendBuf(NULL), curWriteBuf(NULL), sendBufAllocated(0), sendBufUsed(0),
|
||||||
curWriteBufAllocated(0), curWriteBufUsed(0)
|
curWriteBufAllocated(0), curWriteBufUsed(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
SendDataManager::~SendDataManager()
|
SendBuffer::~SendBuffer()
|
||||||
{
|
{
|
||||||
free(sendBuf);
|
free(sendBuf);
|
||||||
free(curWriteBuf);
|
free(curWriteBuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
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) {
|
if (!error) {
|
||||||
// Successfully sent the data.
|
// Successfully sent the data.
|
||||||
@@ -52,7 +52,7 @@ SendDataManager::HandleWrite(boost::shared_ptr<boost::asio::ip::tcp::socket> soc
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
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) {
|
if (!curWriteBufUsed) {
|
||||||
// Swap buffers and send data.
|
// Swap buffers and send data.
|
||||||
@@ -63,7 +63,7 @@ SendDataManager::AsyncSendNextPacket(boost::shared_ptr<boost::asio::ip::tcp::soc
|
|||||||
boost::asio::async_write(
|
boost::asio::async_write(
|
||||||
*socket,
|
*socket,
|
||||||
boost::asio::buffer(curWriteBuf, curWriteBufUsed),
|
boost::asio::buffer(curWriteBuf, curWriteBufUsed),
|
||||||
boost::bind(&SendDataManager::HandleWrite,
|
boost::bind(&SendBuffer::HandleWrite,
|
||||||
shared_from_this(),
|
shared_from_this(),
|
||||||
socket,
|
socket,
|
||||||
boost::asio::placeholders::error));
|
boost::asio::placeholders::error));
|
||||||
@@ -72,9 +72,9 @@ SendDataManager::AsyncSendNextPacket(boost::shared_ptr<boost::asio::ip::tcp::soc
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
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.
|
// Realloc buffer if necessary.
|
||||||
while (m->GetSendBufLeft() < size) {
|
while (m->GetSendBufLeft() < size) {
|
||||||
|
|||||||
@@ -41,12 +41,12 @@ void
|
|||||||
SenderHelper::Send(boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
|
SenderHelper::Send(boost::shared_ptr<SessionData> session, boost::shared_ptr<NetPacket> packet)
|
||||||
{
|
{
|
||||||
if (packet && session) {
|
if (packet && session) {
|
||||||
SendDataManager &tmpManager = session->GetSendDataManager();
|
SendBuffer &tmpBuffer = session->GetSendBuffer();
|
||||||
// Add packet to specific queue.
|
// Add packet to specific queue.
|
||||||
boost::mutex::scoped_lock lock(tmpManager.dataMutex);
|
boost::mutex::scoped_lock lock(tmpBuffer.dataMutex);
|
||||||
InternalStorePacket(tmpManager, packet);
|
InternalStorePacket(tmpBuffer, packet);
|
||||||
// Activate async send, if needed.
|
// 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)
|
SenderHelper::Send(boost::shared_ptr<SessionData> session, const NetPacketList &packetList)
|
||||||
{
|
{
|
||||||
if (!packetList.empty() && session) {
|
if (!packetList.empty() && session) {
|
||||||
SendDataManager &tmpManager = session->GetSendDataManager();
|
SendBuffer &tmpBuffer = session->GetSendBuffer();
|
||||||
// Add packets to specific queue.
|
// 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 i = packetList.begin();
|
||||||
NetPacketList::const_iterator end = packetList.end();
|
NetPacketList::const_iterator end = packetList.end();
|
||||||
while (i != end) {
|
while (i != end) {
|
||||||
if (*i)
|
if (*i)
|
||||||
InternalStorePacket(tmpManager, *i);
|
InternalStorePacket(tmpBuffer, *i);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
// Activate async send, if needed.
|
// Activate async send, if needed.
|
||||||
tmpManager.AsyncSendNextPacket(session->GetAsioSocket());
|
tmpBuffer.AsyncSendNextPacket(session->GetAsioSocket());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
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;
|
//cerr << "OUT:" << endl << packet->ToString() << endl;
|
||||||
if (e.encoded == -1)
|
if (e.encoded == -1)
|
||||||
LOG_ERROR("Failed to encode NetPacket: " << packet->GetMsg()->present);
|
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_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_callback(cb), m_authSession(NULL), m_curAuthStep(0)
|
||||||
{
|
{
|
||||||
m_sendDataManager.reset(new SendDataManager);
|
m_sendBuffer.reset(new SendBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
SessionData::~SessionData()
|
SessionData::~SessionData()
|
||||||
|
|||||||
@@ -31,11 +31,11 @@
|
|||||||
#define MAX_SEND_BUF_SIZE SEND_BUF_FIRST_ALLOC_CHUNKSIZE * 256
|
#define MAX_SEND_BUF_SIZE SEND_BUF_FIRST_ALLOC_CHUNKSIZE * 256
|
||||||
|
|
||||||
|
|
||||||
class SendDataManager : public boost::enable_shared_from_this<SendDataManager>
|
class SendBuffer : public boost::enable_shared_from_this<SendBuffer>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SendDataManager();
|
SendBuffer();
|
||||||
~SendDataManager();
|
~SendBuffer();
|
||||||
|
|
||||||
inline size_t GetSendBufLeft() const {
|
inline size_t GetSendBufLeft() const {
|
||||||
int bytesLeft = sendBufAllocated - sendBufUsed;
|
int bytesLeft = sendBufAllocated - sendBufUsed;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <net/sendercallback.h>
|
#include <net/sendercallback.h>
|
||||||
|
|
||||||
class SessionData;
|
class SessionData;
|
||||||
class SendDataManager;
|
class SendBuffer;
|
||||||
|
|
||||||
class SenderHelper
|
class SenderHelper
|
||||||
{
|
{
|
||||||
@@ -37,7 +37,7 @@ public:
|
|||||||
void Send(boost::shared_ptr<SessionData> session, const NetPacketList &packetList);
|
void Send(boost::shared_ptr<SessionData> session, const NetPacketList &packetList);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void InternalStorePacket(SendDataManager &tmpManager, boost::shared_ptr<NetPacket> packet);
|
void InternalStorePacket(SendBuffer &tmpManager, boost::shared_ptr<NetPacket> packet);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ typedef unsigned SessionId;
|
|||||||
|
|
||||||
struct Gsasl;
|
struct Gsasl;
|
||||||
struct Gsasl_session;
|
struct Gsasl_session;
|
||||||
class SendDataManager;
|
class SendBuffer;
|
||||||
|
|
||||||
class SessionData
|
class SessionData
|
||||||
{
|
{
|
||||||
@@ -80,8 +80,8 @@ public:
|
|||||||
ReceiveBuffer &GetReceiveBuffer() {
|
ReceiveBuffer &GetReceiveBuffer() {
|
||||||
return m_receiveBuffer;
|
return m_receiveBuffer;
|
||||||
}
|
}
|
||||||
SendDataManager &GetSendDataManager() {
|
SendBuffer &GetSendBuffer() {
|
||||||
return *m_sendDataManager;
|
return *m_sendBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetActivityTimer();
|
void ResetActivityTimer();
|
||||||
@@ -102,7 +102,7 @@ private:
|
|||||||
State m_state;
|
State m_state;
|
||||||
std::string m_clientAddr;
|
std::string m_clientAddr;
|
||||||
ReceiveBuffer m_receiveBuffer;
|
ReceiveBuffer m_receiveBuffer;
|
||||||
boost::shared_ptr<SendDataManager> m_sendDataManager;
|
boost::shared_ptr<SendBuffer> m_sendBuffer;
|
||||||
bool m_readyFlag;
|
bool m_readyFlag;
|
||||||
bool m_wantsLobbyMsg;
|
bool m_wantsLobbyMsg;
|
||||||
boost::timers::portable::microsec_timer m_activityTimer;
|
boost::timers::portable::microsec_timer m_activityTimer;
|
||||||
|
|||||||
Reference in New Issue
Block a user