WSReady (C 函数)
int WSReady(WSLINK link)
检验是否有数据可以从 link 读取.
更多信息
- 类似于 Wolfram 语言函数 LinkReadyQ.
- WSReady() 经常在循环中被调用作为轮询一个 WSTP 连接的方式.
- WSReady() 总是立即返回,不会被阻塞.
- 如果你已将数据写入链接,那么,你必须在调用 WSReady() 之前调用 WSFlush().
- 如果链接没有数据可读取,那么,WSReady() 返回 0,如果链接有数据,则返回非零值.
- 如果 link 没有被激活,那么 WSReady() 返回 0 如果链接的另一边还没有被创建.
- WSTP 的标头文件 wstp.h 已对 WSReady() 作出声明.
范例
基本范例 (1)
#include "wstp.h"
/* check a link for readable data */
void f(WSLINK lp);
{
if(! WSFlush(lp))
{ /* unable to flush any outgoing data buffered in lp */ }
if(WSReady(lp))
{ /* read the data from the link */ }
else
{ /* data not ready to read */ }
}