next up previous contents index
Next: リプライ・コンシューマ・オブジェクトの詳細 Up: 分散処理用ジェネリック・オブジェクトの詳細 Previous: ジェネレータ外部参照オブジェクトの詳細

コンシューマ外部参照オブジェクトの詳細

このオブジェクトの保持するデータとメソッドの処理内容を以下に示す。 read_hook classとして、ge_readhook.c で定義されている。  

1.
保持するデータ

(輸出元)ノード番号、輸出表エントリのID、重み(WEC)、 送信した%readの返信先

より詳細には以下である。

struct consumer_object_method_table *method_table;
  long node;         /* ノード番号 */
  long index;        /* 輸出表エントリID l*/
  long wec;          /* 重み */
  q to_read_hook;    /* 二重ループエントリ */
  long return_index; /* 返信先 */
};

2.
active unifyメソッド (引数:『対象データ』)

以下のメッセージを自分が指していたノードへ送る。

%unify(Tn=初期値,自分の参照先,『対象データ』)

3.
%answer_value 受信メソッド (引数:『対象データ』、『返信先』)

自分が持つ返信先と(メソッド引数の)『返信先』が一致するならば 以下のメッセージを、

%release(自分の参照先)
返信先が一致しない場合は以下のメッセージを自分が指すノードへ送信する。
%unify(Tn=初期値,自分の参照先,『対象データ』)



Sekita Daigo
1998-05-18