るりまサーチ

最速Rubyリファレンスマニュアル検索!
99件ヒット [1-99件を表示] (0.075秒)
トップページ > クエリ:l[x] > クエリ:rinda/tuplespace[x] > クエリ:TupleSpace[x]

別のキーワード

  1. rinda/tuplespace tuplespace
  2. rinda/tuplespace tupleentry
  3. rinda/tuplespace take
  4. rinda/tuplespace fetch
  5. rinda/tuplespace read

ライブラリ

クラス

キーワード

検索結果

rinda/tuplespace (50000.0)

Rubyによるタプル空間(Tuple Space)の実装です。

...Rubyによるタプル空間(Tuple Space)の実装です。...

Rinda::TupleSpace (32012.0)

Tuple Space を表すクラスです。

...Tuple Space を表すクラスです。

このクラスのインスタンスを
drb を経由して公開することで
タプルスペースを他のプロセスからアクセスさせることができるようになります。

タプルスペースを drb 経由で利用する側は
DRb::DR...
...でこのオブジェクトのリモートオブジェクトを
取得し、Rinda::TupleSpaceProxy をかぶせることで利用します。

===[a:renewer] タプルの寿命と renewer
タプルを Rinda::TupleSpace#write などで追加するときにその寿命を
秒数で指定すること...
...れます。

ただし、指定秒数を過ぎてもすぐには削除されず、Rinda::TupleSpace.new の
引数で指定した秒数ごとに「掃除用スレッド」が動き、それによって
cancel されたタプルや期限切れになったタプルが削除されます。

sec には...

Rinda::TupleSpace#read_all(tuple) -> [Array|Hash] (17100.0)

タプルスペース内の tuple にマッチするタプルをすべてコピーして返します。

...ース内の tuple にマッチするタプルをすべてコピーして返します。

このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。

tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照...
...してください。

マッチするタプルが存在しない場合は、待たずに空の配列を返します。

このメソッドは主にデバッグのための利用を想定しています。

@param tuple タプルのパターン...

Rinda::TupleSpace.new(period = 60) -> Rinda::TupleSpace (14217.0)

Rinda::TupleSpace オブジェクトを生成します。

...Rinda::TupleSpace オブジェクトを生成します。

period で掃除用スレッドが動く周期を指定します。
このスレッドでは cancel されたタプルや expire(期限切れ、タイムアウト) された
タプルをタプルスペース内から取り除きます。

@...
...param period cancel/expireされたタプルを取り除く周期を秒で指定します...

Rinda::TupleSpace#write(tuple, sec = nil) -> Rinda::TupleEntry (14200.0)

tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。

...tuple をタプルスペースに加えます。
tuple を管理するための Rinda::TupleEntry オブジェクトを返します。

sec で追加したタプルの有効期限を指定できます。
追加されてから sec 秒過ぎたタプルはタプルスペースから削除されます...
...
nil は無限を意味し、この場合にはタプルは経過時間によっては削除されません。

返り値の Rinda::TupleEntry オブジェクトを使ってタプルを明示的に
キャンセルしたり有効期限を変更したりできます。ただし、利用にはGCな...
...::TupleEntry のエントリーを見てください。


@param tuple 追加する tuple (配列かHash)
@param sec 有効期限(秒数)

@raise Rinda::InvalidHashTupleKey 不正な Hash tuple (キーが文字列以外のもの)を
追加しようとすると発生します

@return tuple...

絞り込み条件を変える

Rinda::TupleSpace#notify(event, pattern, sec = nil) -> Rinda::NotifyTemplateEntry (14148.0)

event で指定した種類のイベントの監視を開始します。

...生じた場合、
このメソッドの返り値の Rinda::NotifyTemplateEntry を経由し、
Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。

sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。

event として以下の3つを...
... lib:rinda/rinda#tuplepattern を
参照してください。

@param event 監視対象のイベント(文字列)
@param pattern 監視対象となるタプルのパターン
@param sec 監視期間の長さ(秒数)

=== 例
require 'rinda/tuplespace'

tuplespace
= Rinda::TupleSpace.new...
...observer = tuplespace.notify("write", ["xyz", nil, nil])
Therad.new do
observer.each{|event, tuple| p event, tuple }
end

tuplespace
.write(["xyz", 0, 1])
tuplespace
.write(["pqr", 0, 1])
tuplespace
.write(["xyz", 4, 2])...

Rinda::TupleSpace#read(tuple, sec=nil) -> [Array|Hash] (14100.0)

タプルスペース内の tuple にマッチするタプルを一つコピーして返します。

...ペース内の tuple にマッチするタプルを一つコピーして返します。

このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。

tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照...
...
sec に nil を指定するとタイムアウトせずに無限に待ち続けます。

@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError read がタイムアウトした場合に発生します
@raise Ridna::RequestCanceledError read...

Rinda::TupleSpace#take(tuple, sec = nil) -> Array | Hash (14100.0)

tuple にマッチするタプルをタプルスペースから取り出して返します。

...tuple にマッチするタプルをタプルスペースから取り出して返します。

tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。

マッチするタプルが存在しない場合は、マッチするタプルがタプル...
...
sec に nil を指定するとタイムアウトせずに無限に待ち続けます。

@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError take がタイムアウトした場合に発生します
@raise Ridna::RequestCanceledError take...

Rinda::TupleEntry (14006.0)

タプルスペース内に含まれるタプルを管理するためのクラスです。 タプルの有効期限を管理し、タプルのキャンセル操作ができます。

...ルを管理するためのクラスです。
タプルの有効期限を管理し、タプルのキャンセル操作ができます。

Rinda::TupleSpace#write はこのオブジェクトを返し、
それを利用してタプルを明示的にキャンセルすることができます。

ただ...
...
このオブジェクトを参照します。そのためタプルスペースのプロセス側では
参照切れによるGCが発生し、TupleEntryオブジェクトが消滅してしまうかもしれません。
これを防ぐには何らかの仕掛けが必要でしょう。詳しくは...