Class

Rinda::TupleEntry

Inheritance
< Object
Included Modules
DRbUndumped

A TupleEntry is a Tuple (i.e. a possible entry in some Tuplespace) together with expiry and cancellation data.

Attributes

Name Visibility R/W Description
expires public RW

Methods

Class

Visibility Signature
public new (ary, sec=nil)

Instance

Visibility Signature
public [] (key)
public alive? ()
public cancel ()
public canceled? ()
public expired? ()
public fetch (key)
public make_expires (sec=nil)
public make_tuple (ary)
public renew (sec_or_renewer)
public size ()
public value ()

Class Method Detail

new(ary, sec=nil)

Creates a TupleEntry based on ary with an optional renewer or expiry time sec.

A renewer must implement the renew method which returns a Numeric, nil, or true to indicate when the tuple has expired.

Instance Method Detail

[](key)

Retrieves key from the tuple.

alive?()

A TupleEntry is dead when it is canceled or expired.

cancel()

Marks this TupleEntry as canceled.

canceled?()

Returns the canceled status.

expired?()

Has this tuple expired? (true/false).

A tuple has expired when its expiry timer based on the sec argument to initialize runs out.

fetch(key)

Fetches key from the tuple.

make_expires(sec=nil)

Returns an expiry Time based on sec which can be one of:

Numeric:sec seconds into the future
true:the expiry time is the start of 1970 (i.e. expired)
nil:it is Tue Jan 19 03:14:07 GMT Standard Time 2038 (i.e. when UNIX clocks will die)

make_tuple(ary)

Creates a Rinda::Tuple for ary.

renew(sec_or_renewer)

Reset the expiry time according to sec_or_renewer.

nil:it is set to expire in the far future.
false:it has expired.
Numeric:it will expire in that many seconds.

Otherwise the argument refers to some kind of renewer object which will reset its expiry time.

size()

The size of the tuple.

value()

Return the object which makes up the tuple itself: the Array or Hash.