ライブラリ
-
rinda
/ rinda (20) -
rinda
/ tuplespace (4)
クラス
キーワード
- === (1)
- DRbObjectTemplate (1)
- InvalidHashTupleKey (1)
- RequestCanceledError (1)
- RequestExpiredError (1)
- Rinda (1)
- RindaError (1)
- SimpleRenewer (1)
- Template (1)
- Tuple (1)
- TupleSpaceProxy (1)
- new (3)
- notify (2)
- read (2)
-
read
_ all (2) - renew (1)
-
ruby 1
. 8 . 4 feature (1) - take (2)
- write (1)
検索結果
-
rinda
/ rinda (114037.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
タプルスペースとは並列プログラムにおける一つのパターンです。
並列プログラミングにおいては、ロックのような同期処理が必須ですが、
適切な同期処理を実現することは困難をともないます。
このパターンにおいては、複数の並列単位(スレッド/プロセス)間の通信をすべて
タプルスペースという領域を経由して行います。これによって
プロセス間の通信トポロジーを単純化し、問題を簡単化します。
タプルスペースに対しては、タプルを書き込む(write)、取り出す(take)、
タプルの要素を覗き見る(read)
という操作の... -
Rinda (24049.0)
-
rinda/rinda および rinda/tuplespace の名前空間を提供する モジュール。
rinda/rinda および rinda/tuplespace の名前空間を提供する
モジュール。 -
Rinda
:: Template (24019.0) -
タプルのマッチングのためのクラスです。 ユーザがこのクラスを直接使うことはありません。
タプルのマッチングのためのクラスです。
ユーザがこのクラスを直接使うことはありません。
=== 例
require 'rinda/rinda'
template = Rinda::Template.new(['abc', nil, nil])
template.match(['abc', 2, 5]) # => true
template.match(['hoge', 2, 5]) # => false
template = Rinda::Template.new([String, Integer, nil])
template.match(['abc', 2, 5... -
Rinda
:: DRbObjectTemplate (24001.0) -
-
Rinda
:: DRbObjectTemplate # ===(ro) (24001.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) (24001.0) -
@todo
@todo
Creates a new DRbObjectTemplate that will match against +uri+ and
+ref+. -
Rinda
:: InvalidHashTupleKey (24001.0) -
Rinda::TupleSpace#write などで不正なハッシュテーブル(キーが 文字列でないもの)をタプルスペースに書き込もうとすると発生すると発生する 例外です。
Rinda::TupleSpace#write などで不正なハッシュテーブル(キーが
文字列でないもの)をタプルスペースに書き込もうとすると発生すると発生する
例外です。 -
Rinda
:: RequestCanceledError (24001.0) -
rinda で take などのリクエストが何らかの理由でキャンセルされた ことを意味する例外クラス。
rinda で take などのリクエストが何らかの理由でキャンセルされた
ことを意味する例外クラス。 -
Rinda
:: RequestExpiredError (24001.0) -
rinda で take などのリクエストがタイムアウトしたことを 意味する例外クラス。
rinda で take などのリクエストがタイムアウトしたことを
意味する例外クラス。 -
Rinda
:: RindaError (24001.0) -
rinda ライブラリの基底例外クラス
rinda ライブラリの基底例外クラス -
Rinda
:: SimpleRenewer (24001.0) -
シンプルな renewer で renewer のサンプル実装です。
シンプルな renewer で renewer のサンプル実装です。
Rinda::TupleSpace が保持するタプルの有効期限を更新するクラスです。
このクラスはタプルの寿命をプロセスの寿命と一致させることができます。
詳しくは Rinda::TupleSpace#renewer を見てください。 -
Rinda
:: SimpleRenewer # renew -> Integer (24001.0) -
TupleSpace からオブジェクトの寿命を問合せるために呼び出されます。
TupleSpace からオブジェクトの寿命を問合せるために呼び出されます。
このメソッド自体は Rinda::SimpleRenewer.new で指定した秒数を
返します。 -
Rinda
:: SimpleRenewer . new(sec = 180) -> Rinda :: SimpleRenewer (24001.0) -
新たな SimpleRenewer オブジェクトを生成します。
新たな SimpleRenewer オブジェクトを生成します。
sec で Rinda::SimpleRenewer#renew が返す秒数を指定します。
@param sec renew が返す秒数 -
Rinda
:: Tuple (24001.0) -
Tuple のためのクラスです。ユーザがこのクラスを直接使うことはありません。
Tuple のためのクラスです。ユーザがこのクラスを直接使うことはありません。 -
Rinda
:: TupleSpaceProxy (24001.0) -
リモートの Rinda::TupleSpace オブジェクトを包む プロクシクラスです。
リモートの Rinda::TupleSpace オブジェクトを包む
プロクシクラスです。
Rinda::TupleSpace#take でタプルの受け渡し時にタプルが
消失する可能性を下げるためのプロクシクラスです。 -
Rinda
:: TupleSpaceProxy # notify(ev , tuple , sec = nil) -> Rinda :: NotifyTemplateEntry (24001.0) -
event で指定した種類のイベントの監視を開始します。
event で指定した種類のイベントの監視を開始します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#notify にフォワードされます。
詳細は Rinda::TupleSpace#notify 参照してください
@param event 監視対象のイベント(文字列)
@param pattern 監視対象となるタプルのパターン
@param sec 監視期間の長さ(秒数) -
Rinda
:: TupleSpaceProxy # read(tuple , sec=nil) -> [Array|Hash] (24001.0) -
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#read にフォワードされます。
詳細は Rinda::TupleSpace#read を参照してください。
@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError read がタイムアウトした場合に発生します
@raise Ridna::RequestCanceledError read が何らかの理由でキャンセルされた場合に発生します。 -
Rinda
:: TupleSpaceProxy # read _ all(tuple) -> [Array|Hash] (24001.0) -
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#read_all にフォワードされます。
詳細は Rinda::TupleSpace#read_all を参照してください。
@param tuple タプルのパターン -
Rinda
:: TupleSpaceProxy # take(tuple , sec = nil) -> Array | Hash (24001.0) -
tuple にマッチするタプルをタプルスペースから取り出して返します。
tuple にマッチするタプルをタプルスペースから取り出して返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#take にフォワードされます。
詳細は Rinda::TupleSpace#take を参照してください。
@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError take がタイムアウトした場合に発生します
@raise Ridna::RequestCanceledError take が何らかの理由でキャンセルされた場合に発生します。 -
Rinda
:: TupleSpaceProxy # write(tuple , sec = nil) -> Rinda :: TupleEntry (24001.0) -
tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。
tuple をタプルスペースに加えます。
tuple を管理するための Rinda::TupleEntry オブジェクトを返します。
内部的にはリモートオブジェクトの Rinda::TupleSpace#write にフォワードされます。
詳細は Rinda::TupleSpace#write を参照してください。
@param tuple 追加する tuple (配列かHash)
@param sec 有効期限(秒数) -
Rinda
:: TupleSpaceProxy . new(ts) -> Rinda :: TupleSpaceProxy (24001.0) -
ts を wrap した新たな TupleSpaceProxy オブジェクトを生成します。
ts を wrap した新たな TupleSpaceProxy オブジェクトを生成します。
@param ts ラップするリモート Rinda::TupleSpace オブジェクト -
Rinda
:: TupleSpace # notify(event , pattern , sec = nil) -> Rinda :: NotifyTemplateEntry (19.0) -
event で指定した種類のイベントの監視を開始します。
event で指定した種類のイベントの監視を開始します。
イベントを生じさせたタプルがpattern にマッチした場合にのみ報告されます。
イベントが生じた場合、
このメソッドの返り値の Rinda::NotifyTemplateEntry を経由し、
Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。
sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。
event として以下の3つを指定できます。
* 'write' : タプルが追加された
* 'take' : タプルが take された
* 'delet... -
Rinda
:: TupleSpace # read(tuple , sec=nil) -> [Array|Hash] (19.0) -
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
タプルスペース内の tuple にマッチするタプルを一つコピーして返します。
このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに
投入されるまで待ちます。
sec でタイムアウト秒数を指定できます。
待ち時間が sec 秒を過ぎた時には read をあきらめ
例外 Rinda::RequestExpiredError を発生させます。
sec に nil を指定す... -
Rinda
:: TupleSpace # read _ all(tuple) -> [Array|Hash] (19.0) -
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。
このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、待たずに空の配列を返します。
このメソッドは主にデバッグのための利用を想定しています。
@param tuple タプルのパターン -
Rinda
:: TupleSpace # take(tuple , sec = nil) -> Array | Hash (19.0) -
tuple にマッチするタプルをタプルスペースから取り出して返します。
tuple にマッチするタプルをタプルスペースから取り出して返します。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに
投入されるまで待ちます。
sec でタイムアウト秒数を指定できます。
待ち時間が sec 秒を過ぎた時には take をあきらめ
例外 Rinda::RequestExpiredError を発生させます。
sec に nil を指定するとタイムアウトせずに無限に待ち続けます。
@param tuple タプルのパター... -
ruby 1
. 8 . 4 feature (19.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...