別のキーワード
ライブラリ
- drb (62)
-
drb
/ acl (3) -
drb
/ extserv (6) -
drb
/ extservm (7) -
drb
/ gw (5) -
drb
/ observer (1) -
drb
/ timeridconv (4) -
rinda
/ rinda (3) -
rinda
/ tuplespace (2)
クラス
- ACL (2)
-
DRb
:: DRbIdConv (2) -
DRb
:: DRbObject (5) -
DRb
:: DRbRemoteError (1) -
DRb
:: DRbServer (19) -
DRb
:: DRbUnknown (4) -
DRb
:: DRbUnknownError (1) -
DRb
:: ExtServ (5) -
DRb
:: ExtServManager (6) -
DRb
:: GW (3) -
DRb
:: TimerIdConv (3) -
Rinda
:: DRbObjectTemplate (2)
モジュール
- DRb (12)
-
DRb
:: DRbProtocol (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - == (1)
- === (1)
- ACL (1)
- DRb (1)
- DRbBadScheme (1)
- DRbBadURI (1)
- DRbConnError (1)
- DRbError (1)
- DRbIdConv (2)
- DRbObject (2)
- DRbObjectTemplate (1)
- DRbObservable (1)
- DRbProtocol (1)
- DRbRemoteError (1)
- DRbServer (1)
- DRbServerNotFound (1)
- DRbUndumped (2)
- DRbUnknown (1)
- DRbUnknownError (1)
- ExtServ (1)
- ExtServManager (1)
- GW (1)
- GWIdConv (1)
-
INSECURE
_ METHOD (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
NEWS for Ruby 2
. 5 . 0 (1) - Ruby用語集 (1)
- TimerIdConv (1)
- TupleEntry (1)
- TupleSpace (1)
- [] (1)
- []= (1)
-
_ _ drbref (1) -
_ _ drburi (1) -
add
_ protocol (1) - alive? (2)
- buf (1)
- command (1)
- command= (1)
- config (2)
-
current
_ server (1) -
default
_ acl (1) -
default
_ argc _ limit (1) -
default
_ id _ conv (1) -
default
_ load _ limit (1) -
default
_ safe _ level (1) -
drb
/ acl (1) -
drb
/ extserv (1) -
drb
/ extservm (1) -
drb
/ gw (1) -
drb
/ observer (1) -
drb
/ ssl (1) -
drb
/ timeridconv (1) -
drb
/ unix (1) - eql? (1)
- exception (1)
- front (3)
- here? (2)
-
install
_ acl (1) -
install
_ id _ conv (1) -
install
_ list (1) - name (1)
- new (7)
-
new
_ with _ uri (1) -
primary
_ server (1) -
primary
_ server= (1) - reason (1)
- reload (1)
-
rinda
/ rinda (1) -
ruby 1
. 8 . 4 feature (1) -
safe
_ level (1) - server (1)
- service (1)
-
start
_ service (1) -
stop
_ service (3) - thread (2)
-
to
_ id (2) -
to
_ obj (2) - unknown (1)
- uri (3)
- uri= (1)
- verbose (2)
- verbose= (2)
検索結果
先頭5件
-
drb (114379.0)
-
分散オブジェクトプログラミングのためのライブラリです。
分散オブジェクトプログラミングのためのライブラリです。
Ruby のプロセスから他のRubyプロセスにあるオブジェクトのメソッド
を呼びだすことができます。他のマシン上のプロセスにも
アクセスできます。
=== 概要
dRuby は Ruby 専用の分散オブジェクトシステムです。
Ruby のみで記述され、TCP socket のような Ruby 本体が提供する
通信手段があれば追加のインストール物なしに利用可能です。
独自のプロトコルで通信し、他の分散オブジェクトシステム
(CORBA, RMI, .NETなど)との相互運用性はありません。
dRuby は
* 他のプロセスと Ru... -
DRb
:: DRbObject # _ _ drbref -> Integer|nil (60319.0) -
リモートオブジェクトの識別子を返します。
リモートオブジェクトの識別子を返します。
DRb::DRbObject.new_with_uri で取り出したフロントオブジェクトは
識別子を持たないため nil を返します。 -
DRb
:: DRbObject # _ _ drburi -> String|nil (60301.0) -
リモートオブジェクトの URI を返します。
リモートオブジェクトの URI を返します。 -
DRb
. # current _ server -> DRb :: DRbServer (51640.0) -
「カレントサーバ」を返します。
「カレントサーバ」を返します。
リモートメソッドが呼び出された場合、そのスレッドでは、その呼び出しを管理している
サーバがカレントサーバとなります。そうでない場合はプライマリサーバとなります。
通常、カレントサーバとプライマリサーバは一致しますが、複数のサーバを
異なる URI で起動した場合などにはこの2つが異なる場合があります。
@raise DRb::DRbServerNotFound カレントサーバが存在しない場合に発生します
@see DRb.#primary_server -
DRb
. # primary _ server -> DRb :: DRbServer|nil (51640.0) -
ローカルプロセスのプライマリサーバーを返します。
ローカルプロセスのプライマリサーバーを返します。
プライマリサーバとは DRb.#start_service によって
起動されるサーバです。
サーバが動いていない場合は nil を返します。
@see DRb.#stop_service -
DRb
:: DRbProtocol (51301.0) -
drb で使われる通信プロトコルを取り扱うモジュールです。
drb で使われる通信プロトコルを取り扱うモジュールです。
通常ユーザが使うことはないでしょうが、drb の
ための新しい通信手段を定義したい場合には
このモジュールを使う必要があります。
通信手段を定義したクラスを DRb::DRbProtocol.#add_protocol で
drb に登録することで、追加ができます。
デフォルトでは DRbTCPSocket クラスを用い、druby://... という
URI を指定することで TCP/IP で通信します。
通信プロトコルを追加する例としては、
例としては drb/unix で定義している DRb::DRbUNIXSocket ... -
DRb
. # start _ service(uri=nil , front=nil , config _ or _ acl=nil) -> () (51217.0) -
dRuby のサービス(サーバ)を起動します。
dRuby のサービス(サーバ)を起動します。
これで起動したサーバはプロセスのプライマリサーバとなります。
すでにプライマリサーバが存在する場合は上書きされます。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で H... -
DRb
:: DRbUnknown (51073.0) -
リモートプロセスからマーシャリングされて送られてきたオブジェクトで、 そのクラスがローカルプロセス内では不明であるようなものを 表すクラス。
リモートプロセスからマーシャリングされて送られてきたオブジェクトで、
そのクラスがローカルプロセス内では不明であるようなものを
表すクラス。
このクラスのインスタンス内部ではマーシャリングされたバイト列を
保持しています。DRB 経由で他のプロセスにこのオブジェクトを渡すと、
DRbUnknown オブジェクトではなくそのマーシャリングされたデータを
渡します。
クラス名/定数名は DRb::DRbUnknown#name で取得することができます。
DRb::DRbUnknown#buf で保持しているマーシャリングされた
バイト列を得ることができます。
このクラスのインスタンスの使い... -
DRb
:: DRbUnknownError (51067.0) -
DRb::DRbUnknown をラップする例外クラスです。
DRb::DRbUnknown をラップする例外クラスです。
@see DRb::DRbUnknown#exception -
DRb
:: DRbIdConv (51055.0) -
オブジェクトと識別子を相互に変換するクラスです。
オブジェクトと識別子を相互に変換するクラスです。
リモートオブジェクトは、URIと識別子で区別されます。
リモートメソッド呼び出しは、リモートプロセスに識別子を
送り、それを受け取ったプロセスでオブジェクトに変換することで実現されます。
このクラスはdRubyでデフォルトとして使われる
のオブジェクト-識別子間の変換クラスです。
この変換には ObjectSpace の機構が使われます。特に
ObjectSpace.#_id2ref が使われています。
これはリモートオブジェクト
が有効なのはリモートプロセス内の対応オブジェクトが GC で回収されるまで
であることを意味します。一方 GC... -
DRb
:: DRbError (51049.0) -
drb ライブラリ固有の例外を表すクラス
drb ライブラリ固有の例外を表すクラス -
DRb
:: DRbUndumped (51049.0) -
このモジュールをインクルードしたクラスのインスタンスは ネットワーク越しに参照渡しで渡されるようになります。 値渡し出来ないオブジェクトを drb と一緒に使う時に有用です。
このモジュールをインクルードしたクラスのインスタンスは
ネットワーク越しに参照渡しで渡されるようになります。
値渡し出来ないオブジェクトを drb と一緒に使う時に有用です。
また Marshal.#dump(obj) が必ず失敗するようになります。 -
DRb
. # config -> { Symbol => Object } (51019.0) -
カレントサーバの設定を返します。
カレントサーバの設定を返します。
カレントサーバが存在しない場合は、デフォルトの設定を返します。
@see DRb.#current_server -
DRb
. # front -> object (51019.0) -
カレントサーバのフロントオブジェクトを返します。
カレントサーバのフロントオブジェクトを返します。
@raise DRbServerNotFound カレントサーバが存在しない場合に発生します
@see DRb.#current_server -
DRb
. # here?(uri) -> bool (51019.0) -
uri がカレントサーバに紐付けられたものであれば真を返します。
uri がカレントサーバに紐付けられたものであれば真を返します。
@see DRb.#current_server -
DRb
. # install _ acl(acl) -> () (51019.0) -
サーバ起動時の :acl オプションのデフォルト値を指定します。
サーバ起動時の :acl オプションのデフォルト値を指定します。
内部的には DRb::DRbServer.default_acl を呼び出すだけです。
@see ACL -
DRb
. # install _ id _ conv(idconv) -> () (51019.0) -
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
内部的には DRb::DRbServer.default_id_conv を呼び出すだけです。 -
DRb
. # primary _ server=(server) (51019.0) -
ローカルプロセスのプライマリサーバーを変更します。
ローカルプロセスのプライマリサーバーを変更します。
通常、プライマリサーバは DRb.#start_service などが
設定するものであり、ユーザが変更すべきではありません。
このメソッドは dRuby の内部構造を良く理解した上で利用してください。 -
DRb
. # thread -> Thread|nil (51019.0) -
プライマリサーバが動作しているスレッドを返します。
プライマリサーバが動作しているスレッドを返します。
プライマリサーバが存在しない場合は nil を返します。
@see DRb.#primary_server -
DRb
. # uri -> String (51019.0) -
カレントサーバに紐付けられた URI を返します。
カレントサーバに紐付けられた URI を返します。
@see DRb.#current_server -
DRb
:: DRbBadScheme (51019.0) -
プロトコルクラスが受け取った URI の schema が そのクラスでサポートされていないことを、伝えるための例外。
プロトコルクラスが受け取った URI の schema が
そのクラスでサポートされていないことを、伝えるための例外。
@see DRb::DRbProtocol -
DRb
:: DRbServer (51019.0) -
dRuby サーバクラス。
dRuby サーバクラス。
dRuby サーバは
* リモートからのメソッド呼び出しを受け取る
* ローカルオブジェクトをリモートプロセスにリモートオブジェクトとして
渡す
などを実現するために必要です。そのため、このような操作をする前に
サーバを起動する必要があります。
他のプロセスのリモートメソッドをマーシャリング可能な
引数のみで呼び出すならばサーバは必要ありません。
複数のサーバを起動することもできますが、通常は
DRb.#start_service でサーバを起動します。 -
DRb
:: DRbServerNotFound (51019.0) -
カレントサーバが見付からない場合に発生する例外のクラス
カレントサーバが見付からない場合に発生する例外のクラス
@see DRb.#current_server -
DRb
. # stop _ service -> () (51001.0) -
ローカルプロセス内の dRuby サーバ(プライマリサーバ)を停止します。
ローカルプロセス内の dRuby サーバ(プライマリサーバ)を停止します。
サーバが動いていない場合は何もしません。 -
DRb
:: DRbBadURI (51001.0) -
URI に含まれている schema をサポートしているプロトコルが見付からない ことを意味する例外クラス。
URI に含まれている schema をサポートしているプロトコルが見付からない
ことを意味する例外クラス。 -
DRb
:: DRbConnError (51001.0) -
通信エラーが発生したことを意味する例外クラス。
通信エラーが発生したことを意味する例外クラス。 -
DRb
:: DRbObject (51001.0) -
リモートの dRuby オブジェクトを表すオブジェクトです。
リモートの dRuby オブジェクトを表すオブジェクトです。
このクラスのインスタンスはプロキシとして働きます。
つまりインスタンスへのメソッド呼び出しはリモートプロセスに送られ
リモート側でメソッドが呼び出されます。
内部的には BasicObject#method_missing でメソッド呼び出しを
hook して、それを転送します。 -
DRb
:: DRbRemoteError (51001.0) -
例外オブジェクトを wrap したクラス
例外オブジェクトを wrap したクラス -
DRb
:: DRbServer . new(uri=nil , front=nil , config _ or _ acl=nil) -> DRb :: DRbServer (42802.0) -
dRuby サーバを起動し、DRbServerのインスタンスを返します。
dRuby サーバを起動し、DRbServerのインスタンスを返します。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
: :idconv
dRuby内... -
DRb
:: DRbObject . new _ with _ uri(uri) -> DRb :: DRbObject (42622.0) -
URI から新しい DRbObject を生成します。
URI から新しい DRbObject を生成します。
別プロセスの DRb.#start_service で指定したフロントオブジェクトを
指すリモートオブジェクトを取り出します。
@param uri URI リモートオブジェクトを指定するための URI (文字列) -
DRb
:: DRbUnknown # exception -> DRb :: DRbUnknownError (42622.0) -
マーシャリングされたオブジェクトが元のオブジェクトに変換できなかった、 ということを意味する例外オブジェクトを返します。
マーシャリングされたオブジェクトが元のオブジェクトに変換できなかった、
ということを意味する例外オブジェクトを返します。
この例外オブジェクトの DRb::DRbUnknownError#unknown を
呼び出すと、 self が返されます。 -
DRb
:: DRbUnknownError # unknown -> DRb :: DRbUnknown (42604.0) -
ラップしているオブジェクトを返します。
ラップしているオブジェクトを返します。 -
DRb
:: DRbServer . default _ id _ conv(idconv) -> () (42055.0) -
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
サーバ起動時の :id_conv オプションのデフォルト値を指定します。
初期値は DRb::DRbIdConv のインスタンスです。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . verbose -> bool (42055.0) -
サーバ起動時の :verbose オプションのデフォルト値を返します。
サーバ起動時の :verbose オプションのデフォルト値を返します。
@see DRb::DRbServer.new, DRb.#start_service,
DRb::DRbServer.verbose= -
DRb (42049.0)
-
drb ライブラリの名前空間となるモジュール。
drb ライブラリの名前空間となるモジュール。 -
DRb
:: DRbObject # ==(other) -> bool (42049.0) -
DRb::DRbObject オブジェクト同士が同じであるなら真を返します。
DRb::DRbObject オブジェクト同士が同じであるなら真を返します。
この同値判定は、
オブジェクトが参照している URI と識別子が等しいかどうかでします。 -
DRb
:: DRbObject # eql?(other) -> bool (42049.0) -
DRb::DRbObject オブジェクト同士が同じであるなら真を返します。
DRb::DRbObject オブジェクト同士が同じであるなら真を返します。
この同値判定は、
オブジェクトが参照している URI と識別子が等しいかどうかでします。 -
DRbIdConv (42049.0)
-
Alias of DRb::DRbIdConv
Alias of DRb::DRbIdConv -
DRbObject (42049.0)
-
Alias of DRb::DRbObject
Alias of DRb::DRbObject -
DRbUndumped (42049.0)
-
Alias of DRb::DRbUndumped
Alias of DRb::DRbUndumped -
DRb
:: DRbServer # config -> Hash (42037.0) -
サーバの設定を返します。
サーバの設定を返します。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer # front -> object (42037.0) -
サーバに設定されたフロントオブジェクトを返します。
サーバに設定されたフロントオブジェクトを返します。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ acl(acl) -> () (42037.0) -
サーバ起動時の :acl オプションのデフォルト値を指定します。
サーバ起動時の :acl オプションのデフォルト値を指定します。
初期値は nil です。
@see DRb::DRbServer.new, DRb.#start_service, ACL -
DRb
:: DRbServer . default _ argc _ limit(argc) -> () (42037.0) -
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
サーバ起動時の :argc_limit オプションのデフォルト値を指定します。
初期値は 256 です。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ load _ limit(sz) -> () (42037.0) -
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
サーバ起動時の :load_limit オプションのデフォルト値を指定します。
初期値は25MBです。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . default _ safe _ level(level) -> () (42037.0) -
サーバ起動時の :safe_level オプションのデフォルト値を指定します。
サーバ起動時の :safe_level オプションのデフォルト値を指定します。
初期値は0です。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer . verbose=(on) (42037.0) -
サーバ起動時の :verbose オプションのデフォルト値を指定します。
サーバ起動時の :verbose オプションのデフォルト値を指定します。
初期値は false です。
@see DRb::DRbServer.new, DRb.#start_service -
DRb
:: DRbServer # alive? -> bool (42019.0) -
サーバが生存しているならば真を返します。
サーバが生存しているならば真を返します。
@see DRb::DRbServer#stop_service -
DRb
:: DRbServer # stop _ service -> () (42019.0) -
サーバを停止します。
サーバを停止します。
@see DRb::DRbServer#alive? -
DRb
:: DRbServer # verbose -> bool (42019.0) -
サーバが verbose mode ならば真を返します。
サーバが verbose mode ならば真を返します。
@see DRb::DRbObject#verbose= -
DRb
:: DRbServer # verbose=(on) (42019.0) -
サーバの verbose mode を真偽値で設定します。
サーバの verbose mode を真偽値で設定します。
verbose mode が on の場合は失敗したメソッド呼出のログが標準出力に出力
されます。
@param on 真を渡すと verbose mode が on になります
@see DRb::DRbObject#verbose -
DRb
:: DRbIdConv # to _ id(obj) -> Integer (42001.0) -
オブジェクトを識別子に変換します。
オブジェクトを識別子に変換します。 -
DRb
:: DRbIdConv # to _ obj(ref) -> Object (42001.0) -
識別子をオブジェクトに変換します。
識別子をオブジェクトに変換します。 -
DRb
:: DRbProtocol . # add _ protocol(prot) -> () (42001.0) -
新たなプロトコルを DRbProtocol モジュールに登録します。
新たなプロトコルを DRbProtocol モジュールに登録します。
@param prot プロトコル定義クラス -
DRb
:: DRbRemoteError # reason -> String (42001.0) -
wrapされている例外クラスの名前を返します。
wrapされている例外クラスの名前を返します。 -
DRb
:: DRbServer # here?(uri) -> bool (42001.0) -
uri がサーバに紐付けられたものであれば真を返します。
uri がサーバに紐付けられたものであれば真を返します。
@param uri URI 文字列 -
DRb
:: DRbServer # safe _ level -> Integer (42001.0) -
サーバのセーフレベルを返します。
サーバのセーフレベルを返します。 -
DRb
:: DRbServer # thread -> Thread (42001.0) -
サーバのメインスレッドを返します。
サーバのメインスレッドを返します。
このスレッドはクライアントからの接続を受け付けるスレッドであって、
クライアントへの応答をするスレッドではありません。 -
DRb
:: DRbServer # uri -> String|nil (42001.0) -
サーバに紐付けられた URI を返します。
サーバに紐付けられた URI を返します。 -
DRb
:: DRbServer :: INSECURE _ METHOD -> [Symbol] (42001.0) -
セキュアでないメソッドのリスト。
セキュアでないメソッドのリスト。
これに含まれるメソッドは dRuby 経由では呼び出せません。 -
DRb
:: DRbUnknown # buf -> String (42001.0) -
保持しているマーシャリングされたバイト列を返します。
保持しているマーシャリングされたバイト列を返します。 -
DRb
:: DRbUnknown # name -> String (42001.0) -
保持しているマーシャリングされたオブジェクトのクラスの名前を返します。
保持しているマーシャリングされたオブジェクトのクラスの名前を返します。 -
DRb
:: DRbUnknown # reload -> object (42001.0) -
保持しているマーシャリングされたオブジェクトをRubyのオブジェクトに 変換しようと試みます。
保持しているマーシャリングされたオブジェクトをRubyのオブジェクトに
変換しようと試みます。
DRbUnknown オブジェクトを受け取った後に対応するクラスが定義された場合、
このメソッドでそのクラスのオブジェクトに変換できます。
変換を試みて失敗した場合は DRbUnknown オブジェクトを返します。 -
DRb
:: DRbObservable (27049.0) -
DRb 用の修正をした Observable モジュールです。 通常の Observable と同様に利用します。
DRb 用の修正をした Observable モジュールです。
通常の Observable と同様に利用します。
詳しくは Observable のリファレンスを見てください。
Observable#notify_observers で
各オブザーバに更新を通知したときに例外を発生させた
オブジェクトをオブザーバのリストから削除します。
またその例外は破棄されます。
つまり、このモジュールは、エラーを起こしたオブザーバは
無視してしまうのが適切な場合に用います。 -
drb
/ extservm (18607.0) -
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager は drb で実現されたサービスブローカーです。
個々のサービスは drb/extserv で定義されている
DRb::ExtServ を用いて実装します。
DRb::ExtServManager
はクライアントの要求に応じて個々のサービスを
サブプロセスとして起動し、各サービスを表す DRb::ExtServ オブジェクト
をリモートオブジェクトとしてクライアントに渡します。
このライブラリは簡易的なもので、あまりメンテナンスもされていないので、
本格的な用途にはこのライブラリを参... -
drb
/ gw (18571.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
drb 通信を中継するゲートウェイ(DRb::GW)と、
中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、
および DRb::DRbObject への拡張が含まれています。
このライブラリを利用することで直接通信することが不可能であるような
2つのプロセスが中継プロセスを経て drb によりやりとりできるようになります。
drb による通信とは、オブジェクトをプロセス間でやりとりすること、
およびそのメソッドを呼び出すことです。
中継プロセスが保持している DRb::GW オブジェクトに
それ以外のプロセスがオブジェクトを登録したり、登録済みの
オブジェクトを取り出... -
drb
/ ssl (18157.0) -
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
require 'drb/ssl'
obj = ''
DRb::DRbServer.new( 'drbssl://localhost:10000',
obj,
{:SSLCertName => [["CN","fqdn.example.com"]]})
DRb::DRbServer.new や DRb.#start_service が
"drbssl" スキームを受け入れるようになります。
また、D... -
drb
/ timeridconv (18145.0) -
DRb::DRbIdConv の拡張 DRb::TimerIdConv を定義 するライブラリ。 DRb::DRbIdConv の GC 問題をタイムアウトを定めることで 部分的に解決します。
DRb::DRbIdConv の拡張 DRb::TimerIdConv を定義
するライブラリ。
DRb::DRbIdConv の GC 問題をタイムアウトを定めることで
部分的に解決します。 -
drb
/ unix (18139.0) -
DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。
DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。
require 'drb/unix'
obj = ''
DRb::DRbServer.new('drbunix:/tmp/hoge', obj)
DRb::DRbServer.new や DRb.#start_service が
"drbunix" スキームを受け入れるようになります。
また、DRb::DRbObject.new_with_uri でも drbunix スキームが使えるようになります。
サーバを起動するときは以下のオプションが追加で利用できます。
:... -
drb
/ extserv (18121.0) -
DRb::ExtServ を定義しているライブラリ。
DRb::ExtServ を定義しているライブラリ。
drb/extservm で定義されている DRb::ExtServManager
によって管理されるサービスを実現する DRb::ExtServ を
定義しています。
詳しくは drb/extservm を見てください。 -
drb
/ observer (18097.0) -
DRb 用の修正をした Observable (DRb::DRbObservable) を定義するライブラリ。
DRb 用の修正をした Observable
(DRb::DRbObservable)
を定義するライブラリ。 -
drb
/ acl (18049.0) -
drb で用いる ACL(Access Control List)を定義するライブラリ。
drb で用いる ACL(Access Control List)を定義するライブラリ。 -
Rinda
:: DRbObjectTemplate (18001.0) -
-
DRb
:: ExtServ # server -> DRb :: DRbServer (9640.0) -
通信に利用しているサーバを返します。
通信に利用しているサーバを返します。
DRb::ExtServ.new で指定した DRb::DRbServer を返します。 -
DRb
:: ExtServ . new(there , name , server=nil) -> DRb :: ExtServ (9544.0) -
DRb::ExtServ オブジェクトを生成し、サービスを DRb::ExtServManager オブジェクトに登録します。
DRb::ExtServ オブジェクトを生成し、サービスを
DRb::ExtServManager オブジェクトに登録します。
there で指定した
URI の front オブジェクト(これは DRb::ExtServManager の
インスタンスであるべきです)に name という名前でサービスを登録します。
there, name は Object::ARGV の末尾2つを渡してください。
server には drb の通信に用いる DRb::DRbServer オブジェクトを指定します。
省略した場合は DRb.#primary_server を用います。
DRb::Ext... -
DRb
:: ExtServManager # service(name) -> DRb :: ExtServ (9460.0) -
name で指定したサービスに関連付けられた DRb::ExtServ オブジェクトを返します。
name で指定したサービスに関連付けられた DRb::ExtServ
オブジェクトを返します。
サービスを提供するプロセスが起動していない場合は、DRb::ExtServManager.command
で指定したプロセスを起動し、そのプロセスが DRb::ExtServ オブジェクトが
DRb::ExtServ.new によって ExtServManager に登録されるのを待ちます。
その後、登録されたオブジェクトを返します。
すでにプロセスが起動していた場合は、登録されている DRb::ExtServ オブジェクトを
返します。
DRb::ExtServ#stop_servic... -
DRb
:: ExtServManager . new -> DRb :: ExtServManager (9370.0) -
DRb::ExtServManager オブジェクトを生成して返します。
DRb::ExtServManager オブジェクトを生成して返します。
これで生成したオブジェクトの DRb::ExtServManager#service を
リモートプロセスから呼び出すことでサービスの仲介を実現します。 -
DRb
:: GW . new -> DRb :: GW (9304.0) -
新たな GW オブジェクトを生成します。
新たな GW オブジェクトを生成します。 -
DRb
:: TimerIdConv . new(timeout=600) -> DRb :: TimerIdConv (9304.0) -
TimerIdConv のインスタンスを生成して返します。
TimerIdConv のインスタンスを生成して返します。
@param timeout to_id で識別子に変換してからオブジェクトがGCされないことが保証される秒数 -
DRb
:: GWIdConv (9115.0) -
DRb::DRbIdConv に drb 通信の中継に必要な拡張をしたもの。
DRb::DRbIdConv に drb 通信の中継に必要な拡張をしたもの。
詳しくは drb/gw の例を見てください。 -
DRb
:: GW (9067.0) -
drb 通信中継のためのゲートウェイです。
drb 通信中継のためのゲートウェイです。
中継プロセス上のこのオブジェクトに、各リモートプロセスが
中継を望むオブジェクトを登録します。そして別のプロセスがそれを取りだすことで
(中継された)通信を開始します。インターフェースは Hash に似ています。
詳しくは drb/gw の例を見てください。 -
DRb
:: ExtServ # front -> object (9055.0) -
サービスの窓口となるオブジェクトを返します。
サービスの窓口となるオブジェクトを返します。
実際には、DRb::ExtServ.new の server で指定した
DRb::DRbServer オブジェクトの DRb::DRbServer#front
が返されます。 -
DRb
:: ExtServ # stop _ service -> true (9055.0) -
サービスを停止します。
サービスを停止します。
DRb::ExtServManager オブジェクトにサービスの停止を伝達し、
DRb::DRbServer#stop_service でサーバを停止します。
このメソッドはリモートから起動することができます。
サーバが停止するため、停止したサービスのリモートオブジェクトは
利用できなくなります。また、サーバの停止により
接続を待ち受けているスレッドが停止します。
サービス停止後、
DRb::ExtServManager#service で同じ名前のサービスを要求すると、
別のプロセスが起動します。 -
DRb
:: TimerIdConv (9055.0) -
オブジェクトと識別子を相互に変換するクラスです。 これによって識別子に変換されたオブジェクトは一定時間 GC から保護されます。
オブジェクトと識別子を相互に変換するクラスです。
これによって識別子に変換されたオブジェクトは一定時間
GC から保護されます。
DRb::DRbIdConv では to_id で識別子に
変換し、リモートに送られたオブジェクトは GC から保護されません。
ローカルプロセスからの参照がなくなったオブジェクトは、
リモートからの参照が生きていたとしても GC によって廃棄される
可能性があります。
このクラスを DRb::DRbIdConv の代わりに用いることで、
to_id でオブジェクトを識別子に変換してから
一定時間(DRb::TimerIdConv.new の timeout で指... -
DRb
:: ExtServ (9049.0) -
DRb::ExtServManager で使われるサービスを定義しているクラスです。
DRb::ExtServManager で使われるサービスを定義しているクラスです。 -
DRb
:: ExtServManager (9049.0) -
DRb::ExtServ で作られたサービスを管理するクラスです。
DRb::ExtServ で作られたサービスを管理するクラスです。 -
DRb
:: ExtServManager # uri -> String|nil (9037.0) -
サービス起動時にプロセスを spawn する時に渡す URI を返します。
サービス起動時にプロセスを spawn する時に渡す URI を返します。
デフォルトは nil で、これは DRb.#uri を用いることを意味します。
@see DRb::ExtServManager#uri= -
DRb
:: ExtServManager # uri=(uri) (9019.0) -
サービス起動時にプロセスを spawn する時に渡す URI を設定します。
サービス起動時にプロセスを spawn する時に渡す URI を設定します。
@see DRb::ExtServManager#uri -
DRb
:: ExtServManager . command -> { String => String|[String] } (9019.0) -
サービスを起動するためのコマンドを指定するための Hash を 返します。
サービスを起動するためのコマンドを指定するための Hash を
返します。
Hash のキーがサービス名で、値がそのサービスを起動するためのコマンドです。
この Hash を変更することでサービスを定義します。
DRb::ExtServManager.command= で Hash 自体を
変更することでも同じことができます。
コマンドは文字列、もしくは文字列の配列で指定します。
文字列で指定した場合は Kernel.#spawn で
プロセスを起動する際に shell 経由で起動されます。
文字列の配列で指定すると shell を経由せずに起動されます。 -
DRb
:: ExtServManager . command=(cmd) (9019.0) -
サービスを起動するためのコマンドを指定するための Hash を 設定します。
サービスを起動するためのコマンドを指定するための Hash を
設定します。
@param cmd コマンドを設定した Hash
@see DRb::ExtServManager.command -
DRb
:: ExtServ # alive? -> bool (9001.0) -
サービスが起動しているならば真を返します。
サービスが起動しているならば真を返します。
リモート側からこのメソッドを呼ぶのはあまり意味がありません。
サービスを停止するとリモートメソッド呼び出しができなくなるためです。 -
DRb
:: GW # [](key) -> object (9001.0) -
登録したオブジェクトを取り出します。
登録したオブジェクトを取り出します。
@param key オブジェクトを取り出すためのキー -
DRb
:: GW # []=(key , v) (9001.0) -
オブジェクトを登録します。
オブジェクトを登録します。
key はリモートに渡すことのできる、
ハッシュのキーとして妥当なオブジェクトならなんでもかまいません(文字列など)。
@param key オブジェクトを取り出すためのキー
@param v 登録するオブジェクト -
DRb
:: TimerIdConv # to _ id(obj) -> Integer (9001.0) -
オブジェクトを識別子に変換します。
オブジェクトを識別子に変換します。 -
DRb
:: TimerIdConv # to _ obj(ref) -> Object (9001.0) -
識別子をオブジェクトに変換します。
識別子をオブジェクトに変換します。 -
Rinda
:: DRbObjectTemplate # ===(ro) (9001.0) -
@todo
@todo
This DRbObjectTemplate matches +ro+ if the remote object's drburi
and drbref are the same. +nil+ is used as a wildcard. -
Rinda
:: DRbObjectTemplate . new(uri = nil , ref = nil) (9001.0) -
@todo
@todo
Creates a new DRbObjectTemplate that will match against +uri+ and
+ref+. -
rinda
/ rinda (271.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
タプルスペースとは並列プログラムにおける一つのパターンです。
並列プログラミングにおいては、ロックのような同期処理が必須ですが、
適切な同期処理を実現することは困難をともないます。
このパターンにおいては、複数の並列単位(スレッド/プロセス)間の通信をすべて
タプルスペースという領域を経由して行います。これによって
プロセス間の通信トポロジーを単純化し、問題を簡単化します。
タプルスペースに対しては、タプルを書き込む(write)、取り出す(take)、
タプルの要素を覗き見る(read)
という操作の... -
ACL (139.0)
-
drb で用いる ACL(Access Control List)クラス。
drb で用いる ACL(Access Control List)クラス。
Access control list は "allow" と "deny" の2つからなります。
"all" や "*" という文字列は任意のアドレスにマッチします。
IPAddr が取り扱える任意のアドレス/アドレスマスクを
使うことができます。
ACLのエントリーは、以下の例に示すように、
"allow_or_deny", "addr1",
"allow_or_deny", "addr2",
:
という文字列配列で表現されます。
@see DRb.#install_acl, DRb.#st... -
Rinda
:: TupleSpace (73.0) -
Tuple Space を表すクラスです。
Tuple Space を表すクラスです。
このクラスのインスタンスを
drb を経由して公開することで
タプルスペースを他のプロセスからアクセスさせることができるようになります。
タプルスペースを drb 経由で利用する側は
DRb::DRbObject.new_with_uri などでこのオブジェクトのリモートオブジェクトを
取得し、Rinda::TupleSpaceProxy をかぶせることで利用します。
===[a:renewer] タプルの寿命と renewer
タプルを Rinda::TupleSpace#write などで追加するときにその寿命を
秒数で指定することができ...