Resolver

From Erights

(Difference between revisions)
Jump to: navigation, search
m (resolve/2)
(add protocols category)
Line 36: Line 36:
{{unspecified message}}
{{unspecified message}}
 +
 +
[[Category:Protocols]]

Revision as of 20:46, 23 March 2008

A resolver is an object providing the ability to resolve a promise.

A resolver does not allow retrieving the reference to which a promise has been resolved; in E (but not in ref_send), a resolver allows observing whether resolution has occurred.

Contents

Protocol

resolve/1

resolve(resolution) :void

Resolves the promise to resolution, or throws if it is already resolved.

resolveRace/1

resolveRace(_) :Boolean

Resolves the promise to resolution and returns true, or returns false if it is already resolved.

smash/1

smash(problem) :Boolean

Equivalent to resolveRace(Ref.broken(problem)).

resolve/2

resolve(resolution, strict :Boolean) :Boolean

(Deprecated as of 2007-05-30: User:Markm, User:Kevin Reid, and Dean Tribble agree this interface is inferior to resolve/1 and resolveRace/1.)

Resolves the promise to resolution and returns true, or if it is already resolved, returns false if strict is false or throws if it is true.

isDone/0

isDone() :Boolean

Returns whether the promise is already resolved.

gettingCloser/0

gettingCloser() :void

The specification for this message has not been written.

Personal tools
more tools