WSReady (C 関数)
int WSReady(WSLINK link)
link から読取りが可能なデータがあるかどうかをテストする.
詳細
- Wolfram言語関数LinkReadyQに似ている.
- WSReady()は,WSTP接続をポーリングする手段として,ループ中でよく呼び出される.
- WSReady()は常に即座に返し,ブロックしないようになっている.
- リンクにデータを書き込んだ場合には,WSReady()を呼び出す前に,WSFlush()を呼び出さなければならない.
- WSReady()はリンクに読み取るデータがない場合には0を返し,リンクにデータがある場合にはゼロ以外の値を返す.
- link がまだアクティベートされていない場合には,そのリンクの反対側がまだ作成されていなければ,WSReady()は0 を返す.
- WSReady()は,WSTPヘッダファイルwstp.hの中で宣言される.
例題
例 (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 */ }
}