ストリーム
このページは英語から翻訳されています。内容に相違がある場合は、英語のページが正しい内容です。 英語のページを読む
4 つの操作が、結果をサーバー送信イベントとしてストリーミングします。語彙の生成、チューターへのメッセージ送信、レッスンプランの作成、そしてその追跡です。どのライブラリもイベントストリームをその言語固有のイテレーターに変換し、各イベントを型付きの値にデコードした状態で渡します。
ストリームの終わり方
- 処理が完了したとき。 イテレーションはストリームの最後のイベントで自動的に止まります。レッスンプランの場合は最後のイベントに結果が含まれるため、ループが終わる前にそれを受け取れます。
- API がエラーを報告したとき。 ストリームの途中で届いたエラーは、ストリームの開始前に届くエラーと同じ型の API エラーとして送出されます。
- 接続が失敗したとき。 最後のイベントより前に終わったストリーム、または 120 秒間何も送ってこないストリームは、トランスポートエラーとして送出されます。
- 自分で止めたとき。 お使いの言語の通常の方法で呼び出しをキャンセルするか、読み取りをやめると、接続はすぐに閉じられます。
キープアライブのコメントや、ライブラリがまだ知らないイベントタイプはスキップされるため、新しい API によって古いライブラリが壊れることはありません。
再送はしない
イベントを 1 つでも配信したストリームを、ライブラリが再試行することはありません。繰り返すと利用枠を 2 回消費するおそれがあるためです。レッスンプランのストリームが開始後に途切れた場合は、streamLessonPlan に最初のイベントで届いた plan_id を渡して、同じプランを追跡してください。