class DRb::DRbServer

要約

dRuby サーバクラス。

dRuby サーバは

などを実現するために必要です。そのため、このような操作をする前にサーバを起動する必要があります。他のプロセスのリモートメソッドをマーシャリング可能な引数のみで呼び出すならばサーバは必要ありません。

複数のサーバを起動することもできますが、通常は DRb.#start_service でサーバを起動します。

目次

特異メソッド
インスタンスメソッド
定数

特異メソッド

default_acl(acl) -> ()[permalink][rdoc]

サーバ起動時の :acl オプションのデフォルト値を指定します。

初期値は nil です。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service, ACL

default_argc_limit(argc) -> ()[permalink][rdoc]

サーバ起動時の :argc_limit オプションのデフォルト値を指定します。

初期値は 256 です。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

default_id_conv(idconv) -> ()[permalink][rdoc]

サーバ起動時の :id_conv オプションのデフォルト値を指定します。

初期値は DRb::DRbIdConv のインスタンスです。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

default_load_limit(sz) -> ()[permalink][rdoc]

サーバ起動時の :load_limit オプションのデフォルト値を指定します。

初期値は25MBです。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

default_safe_level(level) -> ()[permalink][rdoc]

サーバ起動時の :safe_level オプションのデフォルト値を指定します。

初期値は0です。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

new(uri=nil, front=nil, config_or_acl=nil) -> DRb::DRbServer[permalink][rdoc]

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 の以下のクラスメソッドによって変更できます。

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]

サーバ起動時の :verbose オプションのデフォルト値を返します。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service, DRb::DRbServer.verbose=

verbose=(on)[permalink][rdoc]

サーバ起動時の :verbose オプションのデフォルト値を指定します。

初期値は false です。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

インスタンスメソッド

alive? -> bool[permalink][rdoc]

サーバが生存しているならば真を返します。

[SEE_ALSO] DRb::DRbServer#stop_service

config -> Hash[permalink][rdoc]

サーバの設定を返します。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

front -> object[permalink][rdoc]

サーバに設定されたフロントオブジェクトを返します。

[SEE_ALSO] DRb::DRbServer.new, DRb.#start_service

here?(uri) -> bool[permalink][rdoc]

uri がサーバに紐付けられたものであれば真を返します。

[PARAM] uri:
URI 文字列
safe_level -> Integer[permalink][rdoc]

サーバのセーフレベルを返します。

stop_service -> ()[permalink][rdoc]

サーバを停止します。

[SEE_ALSO] DRb::DRbServer#alive?

thread -> Thread[permalink][rdoc]

サーバのメインスレッドを返します。

このスレッドはクライアントからの接続を受け付けるスレッドであって、クライアントへの応答をするスレッドではありません。

uri -> String|nil[permalink][rdoc]

サーバに紐付けられた URI を返します。

verbose -> bool[permalink][rdoc]

サーバが verbose mode ならば真を返します。

[SEE_ALSO] DRb::DRbObject#verbose=

verbose=(on)[permalink][rdoc]

サーバの verbose mode を真偽値で設定します。

verbose mode が on の場合は失敗したメソッド呼出のログが標準出力に出力されます。

[PARAM] on:
真を渡すと verbose mode が on になります

[SEE_ALSO] DRb::DRbObject#verbose

定数

INSECURE_METHOD -> [Symbol][permalink][rdoc]

セキュアでないメソッドのリスト。

これに含まれるメソッドは dRuby 経由では呼び出せません。