WSFlush (C 関数)

int WSFlush(WSLINK link)

link 上で送信を待っているデータを含む任意のバッファをフラッシュする.

詳細

  • WSNextPacket()あるいはどのMLGet関数を呼び出しても,WSFlush()が自動的に呼び出される.
  • WSReady()を呼び出すと,WSFlush()をまず呼び出して,必要な送信されるべきデータがすべて送信されたことを確認する必要がある.
  • WSFlush()はエラーがあると0を返し,関数が成功すると0以外の値を返す.
  • WSError()を使うとWSFlush()が不成功の場合にエラーコードを引き出すことができる.
  • WSFlush()は,WSTPヘッダファイルwstp.hの中で宣言される.

例題

  (1)

#include "wstp.h"

/* send the expression Integrate[1/x^2,x] to a link */

void f(WSLINK lp)
{
    if(! WSPutFunction(lp, "EvaluatePacket", 1))
        { /* unable to put the function to lp */ }

    if(! WSPutFunction(lp, "ToExpression", 1))
        { /* unable to put the function to lp */ }

    if(! WSPutString(lp, "Integrate[1/x^2, x]"))
        { /* unable to put the string to lp */ }

    if(! WSEndPacket(lp))
        { /* unable to put the end of packet indicator to lp */ }

    if(! WSFlush(lp))
        { /* unable to flush the buffered data in lp */ }
}