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 */ }
}