要約
drb ライブラリの名前空間となるモジュール。
目次
- モジュール関数
モジュール関数
config -> { Symbol => Object }
[permalink][rdoc][edit]-
カレントサーバの設定を返します。
カレントサーバが存在しない場合は、デフォルトの設定を返します。
[SEE_ALSO] DRb.#current_server
current_server -> DRb::DRbServer
[permalink][rdoc][edit]-
「カレントサーバ」を返します。
リモートメソッドが呼び出された場合、そのスレッドでは、その呼び出しを管理しているサーバがカレントサーバとなります。そうでない場合はプライマリサーバとなります。
通常、カレントサーバとプライマリサーバは一致しますが、複数のサーバを異なる URI で起動した場合などにはこの2つが異なる場合があります。
- [EXCEPTION] DRb::DRbServerNotFound:
- カレントサーバが存在しない場合に発生します
[SEE_ALSO] DRb.#primary_server
front -> object
[permalink][rdoc][edit]-
カレントサーバのフロントオブジェクトを返します。
- [EXCEPTION] DRbServerNotFound:
- カレントサーバが存在しない場合に発生します
[SEE_ALSO] DRb.#current_server
here?(uri) -> bool
[permalink][rdoc][edit]-
uri がカレントサーバに紐付けられたものであれば真を返します。
[SEE_ALSO] DRb.#current_server
install_acl(acl) -> ()
[permalink][rdoc][edit]-
サーバ起動時の :acl オプションのデフォルト値を指定します。
内部的には DRb::DRbServer.default_acl を呼び出すだけです。
[SEE_ALSO] ACL
install_id_conv(idconv) -> ()
[permalink][rdoc][edit]-
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
内部的には DRb::DRbServer.default_id_conv を呼び出すだけです。
primary_server -> DRb::DRbServer|nil
[permalink][rdoc][edit]-
ローカルプロセスのプライマリサーバーを返します。
プライマリサーバとは DRb.#start_service によって起動されるサーバです。
サーバが動いていない場合は nil を返します。
[SEE_ALSO] DRb.#stop_service
primary_server=(server)
[permalink][rdoc][edit]-
ローカルプロセスのプライマリサーバーを変更します。
通常、プライマリサーバは DRb.#start_service などが設定するものであり、ユーザが変更すべきではありません。このメソッドは dRuby の内部構造を良く理解した上で利用してください。
start_service(uri=nil, front=nil, config_or_acl=nil) -> ()
[permalink][rdoc][edit]-
dRuby のサービス(サーバ)を起動します。
これで起動したサーバはプロセスのプライマリサーバとなります。すでにプライマリサーバが存在する場合は上書きされます。
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.#primary_server, DRb::DRbServer.new
stop_service -> ()
[permalink][rdoc][edit]-
ローカルプロセス内の dRuby サーバ(プライマリサーバ)を停止します。
サーバが動いていない場合は何もしません。
thread -> Thread|nil
[permalink][rdoc][edit]-
プライマリサーバが動作しているスレッドを返します。
プライマリサーバが存在しない場合は nil を返します。
[SEE_ALSO] DRb.#primary_server
uri -> String
[permalink][rdoc][edit]-
カレントサーバに紐付けられた URI を返します。
[SEE_ALSO] DRb.#current_server