要約
dRuby サーバクラス。
dRuby サーバは
- リモートからのメソッド呼び出しを受け取る
- ローカルオブジェクトをリモートプロセスにリモートオブジェクトとして 渡す
などを実現するために必要です。そのため、このような操作をする前にサーバを起動する必要があります。他のプロセスのリモートメソッドをマーシャリング可能な引数のみで呼び出すならばサーバは必要ありません。
複数のサーバを起動することもできますが、通常は DRb.#start_service でサーバを起動します。
目次
- 特異メソッド
- インスタンスメソッド
- 定数
特異メソッド
default_acl(acl) -> ()
[permalink][rdoc][edit]-
サーバ起動時の :acl オプションのデフォルト値を指定します。
初期値は nil です。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service, ACL
default_argc_limit(argc) -> ()
[permalink][rdoc][edit]-
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
初期値は 256 です。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service
default_id_conv(idconv) -> ()
[permalink][rdoc][edit]-
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
初期値は DRb::DRbIdConv のインスタンスです。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service
default_load_limit(sz) -> ()
[permalink][rdoc][edit]-
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
初期値は25MBです。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service
new(uri=nil, front=nil, config_or_acl=nil) -> DRb::DRbServer
[permalink][rdoc][edit]-
dRuby サーバを起動し、DRbServerのインスタンスを返します。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。通常は 'druby://<hostname>:<port>' という形式の URI を指定します。このときは TCP が通信手段として使われます。 'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
- :idconv
-
dRuby内部で識別子とオブジェクトを相互に変換するためのオブジェクト。デフォルトは DRb::DRbIdConv のインスタンス。
- :verbose
-
真を指定すると失敗したdRuby経由のメソッドのログを $stdout に出力します。デフォルトは false。
- :tcp_acl
-
サーバに設定する ACL(Access Control List)。詳しくは ACL を見てください。デフォルトは nil(設定しない)。
- :load_limit
-
サーバが受け付けるメッセージの最大バイト数。デフォルトは 26214400(25MB)
- :argc_limit
-
サーバが受け付けるリモートメソッド呼出の引数の最大個数。デフォルトは256。
- :auto_load
-
真に設定すると、 URIで指定されたプロトコルを取り扱うのに必要なDRbのサブライブラリが自動的にロードされます。デフォルトは true。
- :safe_level
-
リモートからのメソッド呼出しメッセージを受け取ったときに対応するローカルオブジェクトのメソッド呼出をする前にスレッドに設定されるセーフレベル($SAFE)の値。デフォルト値は0。
デフォルト値は DRb::DRbServer の以下のクラスメソッドによって変更できます。
- DRb::DRbServer.default_acl
- DRb::DRbServer.default_argc_limit
- DRb::DRbServer.default_id_conv
- DRb::DRbServer.default_load_limit
- DRb::DRbServer.default_safe_level
- DRb::DRbServer.verbose=
config に Hash以外を渡すと、ACL(Access Control List)として取り扱われます。
起動したサーバはただちに接続を待ち受けます。
- [PARAM] uri:
- 起動するサービスを bind する URI の文字列
- [PARAM] front:
- フロントオブジェクト
- [PARAM] config:
- オプション設定の Hash
- [EXCEPTION] DRb::DRbBadURI:
- URI の schema が不正(サポートされていないものである)場合に発生します
プライマリサーバが存在しない場合は、これで起動したサーバがプライマリサーバとなります。
[SEE_ALSO] DRb.#start_service
verbose -> bool
[permalink][rdoc][edit]-
サーバ起動時の :verbose オプションのデフォルト値を返します。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service, DRb::DRbServer.verbose=
verbose=(on)
[permalink][rdoc][edit]-
サーバ起動時の :verbose オプションのデフォルト値を指定します。
初期値は false です。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service
インスタンスメソッド
alive? -> bool
[permalink][rdoc][edit]-
サーバが生存しているならば真を返します。
[SEE_ALSO] DRb::DRbServer#stop_service
config -> Hash
[permalink][rdoc][edit]-
サーバの設定を返します。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service
front -> object
[permalink][rdoc][edit]-
サーバに設定されたフロントオブジェクトを返します。
[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service
here?(uri) -> bool
[permalink][rdoc][edit]-
uri がサーバに紐付けられたものであれば真を返します。
- [PARAM] uri:
- URI 文字列
stop_service -> ()
[permalink][rdoc][edit]-
サーバを停止します。
[SEE_ALSO] DRb::DRbServer#alive?
thread -> Thread
[permalink][rdoc][edit]-
サーバのメインスレッドを返します。
このスレッドはクライアントからの接続を受け付けるスレッドであって、クライアントへの応答をするスレッドではありません。
uri -> String|nil
[permalink][rdoc][edit]-
サーバに紐付けられた URI を返します。
verbose -> bool
[permalink][rdoc][edit]-
サーバが verbose mode ならば真を返します。
[SEE_ALSO] DRb::DRbObject#verbose=
verbose=(on)
[permalink][rdoc][edit]-
サーバの verbose mode を真偽値で設定します。
verbose mode が on の場合は失敗したメソッド呼出のログが標準出力に出力されます。
- [PARAM] on:
- 真を渡すと verbose mode が on になります
[SEE_ALSO] DRb::DRbObject#verbose
定数
INSECURE_METHOD -> [Symbol]
[permalink][rdoc][edit]-
セキュアでないメソッドのリスト。
これに含まれるメソッドは dRuby 経由では呼び出せません。