本文整理汇总了C++中connection::Ptr::waitForData方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::waitForData方法的具体用法?C++ Ptr::waitForData怎么用?C++ Ptr::waitForData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类connection::Ptr
的用法示例。
在下文中一共展示了Ptr::waitForData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: recv
int UTPSocket::recv(bt::Uint8* buf, int max_len)
{
Connection::Ptr ptr = conn.toStrongRef();
if (!ptr || ptr->connectionState() == CS_CLOSED)
return 0;
try
{
if (ptr->bytesAvailable() == 0)
{
if (blocking)
{
if (ptr->waitForData())
return ptr->recv(buf, max_len);
else
return 0; // connection should be closed now
}
else
return -1; // No data ready and not blocking so return -1
}
else
return ptr->recv(buf, max_len);
}
catch (Connection::TransmissionError & err)
{
close();
return -1;
}
}