next up previous
Next: 現在検討中の機能 Up: サーバスタックマシン Previous: サーバスタックマシンのグループ SMobject/Primitive に属するオペレータ

グループ SMobject/Basic に属するオペレータ

1.
SM_pops
operand stack より, n 個の元 (obj1, obj2, $\ldots$, objn を pop して捨てる.

Stack before the request:
obj1 obj2 $\cdots$ objn Integer32 n

Request:
int32 OX_COMMAND int32 SM_pops

Output: none.

2.
int SM_setName
OperandStack より name を pop し, つぎにOperandStack より obj を pop し, それを現在の名前空間で変数 name に bind する. 正常終了なら 0 を, 異常終了なら -1 をもどす. TCP/IP によ る通信では, 異常終了の時のみ, CMO_ERROR2 をstack へ push する.

Stack before the request:
obj String name

Request:
int32 OX_COMMAND int32 SM_setName

Output: none.

3.
SM_evalName

現在の名前空間で変数 name を評価する. 評価の結果 OutputObj をスタックへ戻す. 関数自体は正常終了なら 0 を, 異常終了な ら -1 をもどす. TCP/IP の場合, 異常終了の場合のみ CMO_ERROR2 を stack へ push する.

Stack before the request:
String name

Request:
int32 OX_COMMAND int32 SM_evalName

Stack after the request:
OutputObj

Output: none.

4.
SM_executeFunction
スタックより n 個のデータを pop して, サーバのローカル関数s を実行する. エラーのときのみ CMO_ERROR2 を stack へ push す る.

Stack before the request:
objn $\cdots$ obj1 INT32 n String s

Request:
int32 OX_COMMAND int32 SM_executeFunction

Stack after the request: 関数実行の結果.

Output: none.

5.
SM_popSerializedLocalObject

スタックより pop した object を local 形式で serialization して OX message として stream へ出力する. OX message tag としては, local 形式に対応したものが定義されていることが必要である. この関数はおもに, homogeneous な分散システムで用いる.

6.
SM_popCMO

OperandStack より object を pop し CMO 形式の serialized object を stream へ header OX_DATA をつけてながす.

Request:
int32 OX_COMMAND int32 OX_popCMO

Output:
int32 OX_DATA Serialized CMO


next up previous
Next: 現在検討中の機能 Up: サーバスタックマシン Previous: サーバスタックマシンのグループ SMobject/Primitive に属するオペレータ
Nobuki Takayama 平成12年1月25日