ToolTalk ユーザーズガイド

メッセージの配信には、時間的な順序がありますか

送信側と受信側の間では、メッセージの順序は決まっています。まず、プロセス A がメッセージ M1 を送り、その後でメッセージ M2 を送信し、これらのメッセージをプロセス B が受信する場合、プロセス B はメッセージ M2 を受信する前にメッセージ M1 を受信します。ただし、次の 2 つの例外があります。

  1. プロセス B がメッセージ M1 を受信して拒否すると、メッセージ M1 は再度ディスパッチされてプロセス C に行きます。この間 (プロセス B がメッセージ M1 に対して応答するか拒否するかを決定している間)、ToolTalk サービスはメッセージの配信を継続します。このような場合は、後のメッセージが最初のメッセージを「追い越した」ように見えることがあります。

  2. プロセス B へのメッセージが待ち行列に入っている場合、待ち行列に入る原因となったパターンの ptype をプロセス B が宣言した時点で、プロセス B 待ち行列に入っていたメッセージを受信します。しかし、プロセス B は実際は、プロセス A から次のメッセージをすべて受信するまで、待ち行列に入ったメッセージ (この場合はメッセージ M1 ) を受信しない場合があります。