アプリケーションとイベントチャネルの動作を以下に示します。
なお、サプライヤに接続するイベントチャネルのオブジェクトリファレンスおよびコンシューマに接続するイベントチャネルのオブジェクトリファレンスは、事前に獲得して接続しているものとして説明します。
サプライヤがチャネルに対してlocal_beginを発行します。
サプライヤがチャネルに対してpushを発行します。チャネルでは、イベントデータを保持します。この時点では、蓄積処理は行われません。
サプライヤがチャネルに対してlocal_commitを発行します。チャネルでは、保持していたイベントデータの蓄積処理を完了します。
コンシューマがチャネルに対してlocal_beginを発行します。
コンシューマがチャネルに対してpullを発行すると、チャネルはコンシューマにpullの復帰値としてイベントデータを通知します。この時点では、チャネルにイベントデータが蓄積されたままの状態です。
コンシューマがチャネルに対してlocal_commitを発行します。チャネルは、メッセージの受信が完了したことを確認し、イベントデータを削除します。