Package org.erights.e.elib.ref

Provides all non-NEAR references, ie, all EVENTUAL and BROKEN references.


Interface Summary
ProxyHandler Untamed:
Resolver Untamed:

Class Summary
BufferingRef A BufferingRef, although a proper Ref, is intended for use (by composition) only within other Ref implementations.
DelayedRedirector Untamed: Wraps a ProxyResolver for a RemotePromise in a way suitable for inclusion as an argument in the first __whenMoreResolved message, in order to preserve reference-full-order.
DisconnectedRef What a FarRef becomes when it breaks -- a BROKEN Ref with identity.
FarRef A FarRef is a Proxy intended to be a Resolved Ref to a particular PassByProxy object in a remote Vat.
LocalResolver The arrowhead facet of a local promise for resolving the outcome of the promise.
NearRef A NearRef represents the Ref facet of a promise which has been fulfilled with a local non-Ref object.
OneArgFuncAdapter Untamed: Sends a message to target containing a cheap 1-argument function as argument.
Proxy A Proxy is intended to be the arrowtail of a Ref whose arrowhead is in another vat, and which will therefore pass messages sent on to that other vat.
ProxyResolver Untamed: A maker on demand of a Proxy as well as the resolver of this Proxy.
Redirector Untamed: Wraps a Resolver in a way suitable for inclusion as an argument in a __whenMoreResolved message.
Ref Safe: Objects that handle E eventual-send message delivery requests themselves.
RemotePromise A RemotePromise is a Proxy intended to represent a promise that will be resolved remotely (in another vat).
StemCell Untamed: An object can writeReplace itself with a StemCell when serialized in order to resolve to the StemCell's readResolve, but with circular references handled as correctly as possible.
SwitchableRef All message asyncronously delivered to a SwitchableRef will be forwarded its current target.
Switcher Deprecated. Currently unused, so we may decide to retire this.
UnconnectedRef If an unresolved reference becomes Broken without first being Resolved, it becomes an UnconnectedRef (an Unsettled Broken reference).
WhenBrokenReactor Used to implement Ref.whenBroken(Object, OneArgFunc).
WhenResolvedReactor Used to implement Ref.whenResolved(Object, OneArgFunc), which is used to implement the when-catch construct.

Exception Summary
ViciousCycleException Untamed: A reference is BROKEN by a ViciousCycleException if a set of forwarding requests would have resulted in a forwarding loop.

Package org.erights.e.elib.ref Description

Provides all non-NEAR references, ie, all EVENTUAL and BROKEN references.

Mark S. Miller
See Also:
Reference Mechanics