Represents an XML
comment; that is, text between <!– … –>
This is an abstract class. You never use this directly; it serves as a parent class for the specific declarations.
Represents a full XML
document, including PIs, a doctype, etc. A Document
has a single child that can be accessed by root(). Note that if you want to have an XML
declaration written for a document you create, you must add one; REXML
documents do not write a default declaration for you. See |DECLARATION| and |write|.
Represents a tagged XML
element. Elements
are characterized by having children, attributes, and names, and can themselves be children.
A class which provides filtering of children for Elements
, and XPath
search support. You are expected to only encounter this class as the element.elements
object. Therefore, you are not expected to instantiate this yourself.
A class that defines the set of Attributes
of an Element
and provides operations for accessing elements in that set.
A parent has children, and has methods for accessing them. The Parent
class is never encountered except as the superclass for some other object.
Templates are used to match tuples in Rinda
.
Documentation?
TupleSpaceProxy
allows a remote Tuplespace to appear as local.
A TemplateEntry
is a Template
together with expiry and cancellation data.
Documentation?
A NotifyTemplateEntry
is returned by TupleSpace#notify
and is notified of TupleSpace
changes. You may receive either your subscribed event or the ‘close’ event when iterating over notifications.
See TupleSpace#notify_event
for valid notification types.
ts = Rinda::TupleSpace.new observer = ts.notify 'write', [nil] Thread.start do observer.each { |t| p t } end 3.times { |i| ts.write [i] }
Outputs:
['write', [0]] ['write', [1]] ['write', [2]]
The Tuplespace manages access to the tuples it contains, ensuring mutual exclusion requirements are met.
The sec
option for the write, take, move, read and notify methods may either be a number of seconds or a Renewer object.