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