本文整理汇总了C++中PacketStream::stream_size方法的典型用法代码示例。如果您正苦于以下问题:C++ PacketStream::stream_size方法的具体用法?C++ PacketStream::stream_size怎么用?C++ PacketStream::stream_size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PacketStream
的用法示例。
在下文中一共展示了PacketStream::stream_size方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processWrite
int LoginServerSession::processWrite(PacketStreamQue_t & output_packet_que)
{
m_output_msg_block.crunch();
PacketStream * packet = NULL;
while (output_packet_que.size() > 0)
{
packet = output_packet_que.front();
if (packet->stream_size() <= m_output_msg_block.space())
{
m_output_msg_block.copy(packet->stream(), packet->stream_size());
delete packet;
packet = NULL;
output_packet_que.pop();
}
else
{
break;
}
}
if (m_output_msg_block.length() == 0)
{
return 1;
}
int send_n = this->peer().send(m_output_msg_block.rd_ptr(), m_output_msg_block.length());
if (send_n > 0)
{
m_output_msg_block.rd_ptr(send_n);
}
else
{
int last_error = ACE_OS::last_error();
if ((EWOULDBLOCK == last_error) || (EINTR == last_error) || (EAGAIN == last_error))
{
// ok
return 1;
}
else
{
return 2;
}
}
return 0;
}