108件ヒット
[1-100件を表示]
(0.021秒)
ライブラリ
- drb (36)
クラス
-
DRb
:: DRbObject (12) -
DRb
:: DRbServer (12)
モジュール
- DRb (12)
キーワード
- drb (12)
-
drb
/ extservm (12) -
drb
/ gw (12) -
drb
/ ssl (12) -
drb
/ unix (12) - new (12)
-
new
_ with _ uri (12) -
rinda
/ rinda (12)
検索結果
先頭5件
-
DRb
. # start _ service(uri=nil , front=nil , config _ or _ acl=nil) -> () (18250.0) -
dRuby のサービス(サーバ)を起動します。
...ライマリサーバが存在する場合は上書きされます。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として......使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
:......バが受け付けるリモートメソッド呼出の引数の最大個数。
デフォルトは256。
: :auto_load
真に設定すると、
URIで指定されたプロトコルを取り扱うのに
必要なDRbのサブライブラリが自動的にロードされます。デフォルト... -
DRb
:: DRbObject . new _ with _ uri(uri) -> DRb :: DRbObject (6242.0) -
URI から新しい DRbObject を生成します。
...URI から新しい DRbObject を生成します。
別プロセスの DRb.#start_service で指定したフロントオブジェクトを
指すリモートオブジェクトを取り出します。
@param uri URI リモートオブジェクトを指定するための URI (文字列)... -
DRb
:: DRbServer . new(uri=nil , front=nil , config _ or _ acl=nil) -> DRb :: DRbServer (155.0) -
dRuby サーバを起動し、DRbServerのインスタンスを返します。
...ーバを起動し、DRbServerのインスタンスを返します。
uri に URI を文字列で指定すると、それに起動したサービスを bind します。
通常は 'druby://<hostname>:<port>' という形式の URI を指定します。
このときは TCP が通信手段として......使われます。
'drbunix:' のような他のプロトコルを指定することもできます。
front でフロントオブジェクト(URI に結び付けられるオブジェクト)を
設定します。
config で Hash で設定を渡します。以下の項目が利用できます。
:......設定の Hash
@raise DRb::DRbBadURI URI の schema が不正(サポートされていないものである)場合に
発生します
プライマリサーバが存在しない場合は、これで起動したサーバがプライマリ
サーバとなります。
@see DRb.#start_service... -
rinda
/ rinda (90.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
...れます。これは DRb.uri を使うことで rindac.rb のプロセスを
一意に同定しているからです。
# rinda_ts.rb
require 'drb/drb'
require 'rinda/tuplespace'
uri = ARGV.shift
DRb.start_service(uri, Rinda::TupleSpace.new)
puts DRb.uri
DRb.thread.join
# rind......require 'rinda/rinda'
def do_it(v)
puts "do_it(#{v})"
v + v
end
uri = ARGV.shift || raise("usage: #{$0} <server_uri>")
DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))
while true
r = ts.take(['sum', nil, nil])
v = do_it(r[2])
ts......ire 'rinda/rinda'
uri = ARGV.shift || raise("usage: #{$0} <server_uri>")
DRb.start_service
ts = Rinda::TupleSpaceProxy.new(DRbObject.new(nil, uri))
(1..10).each do |n|
ts.write(['sum', DRb.uri, n])
end
(1..10).each do |n|
ans = ts.take(['ans', DRb.uri, n, nil])
p... -
drb (84.0)
-
分散オブジェクトプログラミングのためのライブラリです。
...は通常必要ありません。
DRb::DRbServer に URI(例: druby://example.com:8787)を関連付けること
で、他のプロセスからの通信(リモートメソッド呼び出し)ができるようになります
(逆に言うと、URIを指定しないことで、他のプロセスから......しを拒否することができます)。
また、DRb::DRbServer に「フロントオブジェクト」を登録しておくと、
サーバの URI からそのオブジェクトをリモートオブジェクト
として取り出すことができます。通常はこのオブジェクトから......ance_eval("DANGEROUS RUBY CODE!")
このような instance_eval による危険性は $SAFE を 1
以上にすることで防げます。
DRb.#start_service の :safe_level オプションで
リモートからのメソッド呼び出しのコンテキストで指定されるセーフレベルを......o.instance_eval("DANGEROUS RUBY CODE!")
このような instance_eval による危険性は $SAFE を 1
にすることで防げます。
DRb.#start_service の :safe_level オプションで
リモートからのメソッド呼び出しのコンテキストで指定されるセーフレベルを... -
drb
/ extservm (36.0) -
DRb::ExtServManager を定義しているライブラリ。
...サブプロセスを起動するときは、ここに指定したパラメータに加えて
# さらに2つのパラメータ(サーバの druby URI とサービス名)が渡されます
DRb::ExtServManager.command["No1"] = %w(ruby service.rb service1)
DRb::ExtServManager.command["No2"] = %w......service2)
# ExtServManager オブジェクトを生成して
# drb の front object に指定する
s = DRb::ExtServManager.new
DRb.start_service("druby://localhost:10234", s)
# drb のプロセスの終了を待つ
DRb.thread.join
service.rb:
require 'drb/drb'
require 'drb/e......ドが
# 終了するため、以下の行が実行される
puts "Stop #{ARGV[0]}"
client.rb:
require 'drb/drb'
DRb.start_service
s = DRbObject.new_with_uri("druby://localhost:10234")
# No1 と名付けられたサービスを呼び出す
service1 = s.service("No1").front
p s... -
drb
/ gw (24.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
...obj = Foo.new('a')
DRb.start_service("drbunix:/tmp/gw_a", obj)
robj = DRbObject.new_with_uri('drbunix:/tmp/gw_b_a')
robj[:a] = obj
DRb.thread.join
gw_c.rb
require 'drb/unix'
require_relative 'foo'
foo = Foo.new('c', nil)
DRb.start_service("drbunix:/tmp/gw_c", nil)......robj = DRbObject.new_with_uri("drbunix:/tmp/gw_b_c")
puts "c->b"
a = robj[:a]
sleep 2
a.ping(foo)
DRb.thread.join
これを、gw_b, gw_a, gw_c の順に起動すると、gw_b を経由して
gw_a と gw_c が通信します。... -
drb
/ ssl (12.0) -
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
...{:SSLCertName => [["CN","fqdn.example.com"]]})
DRb::DRbServer.new や DRb.#start_service が
"drbssl" スキームを受け入れるようになります。
また、DRb::DRbObject.new_with_uri でも drbunix スキームが使えるようになります。
サーバを起動する... -
drb
/ unix (12.0) -
DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。
...ix'
obj = ''
DRb::DRbServer.new('drbunix:/tmp/hoge', obj)
DRb::DRbServer.new や DRb.#start_service が
"drbunix" スキームを受け入れるようになります。
また、DRb::DRbObject.new_with_uri でも drbunix スキームが使えるようになります。
サーバを起動する...