Next: メッセージの受信
Up: メッセージの送信/受信
Previous: メッセージの送信/受信
基本的に、各メッセージの送出は以下のように行われる。
- 1.
- ノードより通信バッファをとりだす。
- 2.
- その通信バッファに対して、エンコード(encode_XXXX)を試みる。
XXXX はメッセージの名称(read, releaseなど)である。これらの処理は、
runtime/cntlmsg.c に記述されている。
- 3.
- encodeの結果により、以下の処理を行う。
- WTC不足のときにはエンコードが失敗するので、
message_suspend()(runtime/sendrecv.c)
を呼びだし、WTCを要求し、かつメッセージの内容を
susp_msg内に保持し、susp_msg_list に接続しておく。
- エンコードに成功した場合には、エンコード結果をsend_message()
(runtime/sendrecv.)により送信する。
Sekita Daigo
1998-05-18