English

Action と Call

Action<S, A> は、シグナルが S のページから呼ぶサーバーのエンドポイントで、引数 A を受け取ります。

Action

const として宣言し、同じ値をページとルーターの両方で使います。

項目概要
Action::postPOST path で配信するアクション
Action::get何も変更しない読み取りに使う、GET path で配信するアクション
call引数を取らないこのアクションの呼び出し
call_with引数 args を渡す、このアクションの呼び出し
pathアクションを配信するパス(Base を除く)
underページからの呼び出しがパスの前に base を付ける、base の下の同じアクション
methodアクションを配信するメソッド
MethodAction を配信する HTTP メソッド

Call

Call は Stmt を書ける場所ならどこでも使えます。

項目概要
indicatorリクエストの応答を待つあいだ flag を真にし、終わったら偽にします。
error呼び出しが失敗すると message をエラーの文言にし、送るときに "" にします。
latest同じアクションへの latest の呼び出しで、まだ終わっていない前のものを取り消します。
on_errorこの呼び出しが失敗したとき、handle が作る文を実行します。
on_successサーバーの応答が届き、そのパッチを適用し終えたら next を実行します。
thenこの呼び出しを送り、応答を待たずに next を実行します。

StreamAction と StreamCall

差分のストリームは RouterExt::stream で GET に配信し、その呼び出しだけが再接続できます。

項目概要
StreamAction::newGET path で配信するストリーム
underページからの呼び出しがパスの前に base を付ける、base の下の同じストリーム
call引数を取らないこのストリームの呼び出し
call_with呼び出すときにブラウザで評価する引数 args を渡す、このストリームの呼び出し
connectedサーバーの応答が開いている間は flag を真にし、それ以外のときは偽にします。
reconnect接続が失敗したとき、途中で切れたとき、5xx が返ったときに、ストリームを開き直します。