本文整理汇总了C++中ace_asynch_write_stream::Result::get_buffer方法的典型用法代码示例。如果您正苦于以下问题:C++ Result::get_buffer方法的具体用法?C++ Result::get_buffer怎么用?C++ Result::get_buffer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ace_asynch_write_stream::Result
的用法示例。
在下文中一共展示了Result::get_buffer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
PConnection::handle_write_stream (const ACE_Asynch_Write_Stream::Result &result)
{
this->trace_write_completion (result);
{
ACE_GUARD (ACE_SYNCH_MUTEX, monitor, this->mutex ());
this->update_last_time();
this->ref_cnt_w_--;
int error = result.error();
size_t xfer_bytes = result.bytes_transferred ();
size_t req_bytes = result.bytes_to_write ();
this->total_snd_ += xfer_bytes;
if (error == 0 && this->protocol_ != 0)
{
char *buf = result.get_buffer ();
if (xfer_bytes < req_bytes) // Process partial write
{
this->initiate_write_stream (buf + xfer_bytes,
req_bytes - xfer_bytes);
}
else
{
this->protocol_->on_write_finished (buf,
xfer_bytes,
error);
}
}
else
{
this->cancel ();
}
if (!is_safe_to_delete())
return;
}
this->manager()->destroy_connection(this);
}