本文整理汇总了C++中OutputMessage_ptr::getOutputBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ OutputMessage_ptr::getOutputBuffer方法的具体用法?C++ OutputMessage_ptr::getOutputBuffer怎么用?C++ OutputMessage_ptr::getOutputBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OutputMessage_ptr
的用法示例。
在下文中一共展示了OutputMessage_ptr::getOutputBuffer方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: internalSend
void Connection::internalSend(OutputMessage_ptr msg)
{
m_pendingWrite++;
boost::asio::async_write(m_socket,
boost::asio::buffer(msg->getOutputBuffer(), msg->getMessageLength()),
boost::bind(&Connection::onWriteOperation, this, msg, boost::asio::placeholders::error));
}
示例2: internalSend
void Connection::internalSend(const OutputMessage_ptr& msg)
{
protocol->onSendMessage(msg);
try {
writeTimer.expires_from_now(boost::posix_time::seconds(Connection::write_timeout));
writeTimer.async_wait(std::bind(&Connection::handleTimeout, std::weak_ptr<Connection>(shared_from_this()),
std::placeholders::_1));
boost::asio::async_write(socket,
boost::asio::buffer(msg->getOutputBuffer(), msg->getLength()),
std::bind(&Connection::onWriteOperation, shared_from_this(), std::placeholders::_1));
} catch (boost::system::system_error& e) {
std::cout << "[Network error - Connection::internalSend] " << e.what() << std::endl;
close(FORCE_CLOSE);
}
}
示例3: internalSend
void Connection::internalSend(OutputMessage_ptr msg)
{
try {
++m_pendingWrite;
m_writeTimer.expires_from_now(boost::posix_time::seconds(Connection::write_timeout));
m_writeTimer.async_wait( std::bind(&Connection::handleWriteTimeout, std::weak_ptr<Connection>(shared_from_this()),
std::placeholders::_1));
boost::asio::async_write(getHandle(),
boost::asio::buffer(msg->getOutputBuffer(), msg->getMessageLength()),
std::bind(&Connection::onWriteOperation, shared_from_this(), msg, std::placeholders::_1));
} catch (boost::system::system_error& e) {
if (m_logError) {
std::cout << "[Network error - Connection::internalSend] " << e.what() << std::endl;
m_logError = false;
}
}
}
示例4: internalSend
void Connection::internalSend(OutputMessage_ptr msg)
{
try {
++m_pendingWrite;
m_writeTimer.expires_from_now(boost::posix_time::seconds(Connection::write_timeout));
m_writeTimer.async_wait( boost::bind(&Connection::handleWriteTimeout, boost::weak_ptr<Connection>(shared_from_this()),
boost::asio::placeholders::error));
boost::asio::async_write(getHandle(),
boost::asio::buffer(msg->getOutputBuffer(), msg->getMessageLength()),
boost::bind(&Connection::onWriteOperation, shared_from_this(), msg, boost::asio::placeholders::error));
} catch (boost::system::system_error& e) {
if (m_logError) {
LOG_MESSAGE("NETWORK", LOGTYPE_ERROR, 1, e.what());
m_logError = false;
}
}
}
示例5: internalSend
void Connection::internalSend(OutputMessage_ptr msg)
{
TRACK_MESSAGE(msg);
try
{
++m_pendingWrite;
m_writeTimer.expires_from_now(boost::posix_time::seconds(Connection::writeTimeout));
m_writeTimer.async_wait(boost::bind(&Connection::handleWriteTimeout,
boost::weak_ptr<Connection>(shared_from_this()), boost::asio::placeholders::error));
boost::asio::async_write(getHandle(),
boost::asio::buffer(msg->getOutputBuffer(), msg->size()),
boost::bind(&Connection::onWrite, shared_from_this(), msg, boost::asio::placeholders::error));
}
catch(std::exception& e)
{
if(m_logError)
{
LOG_MESSAGE(LOGTYPE_ERROR, e.what(), "NETWORK");
m_logError = false;
}
}
}