class Concurrent::Promises::ResolvableEvent
A Event
which can be resolved by user.
Public Instance Methods
Source
# File lib/concurrent-ruby/concurrent/promises.rb, line 1313 def resolve(raise_on_reassign = true, reserved = false) resolve_with RESOLVED, raise_on_reassign, reserved end
Makes the event resolved, which triggers all dependent futures.
@!macro promise.param.raise_on_reassign @!macro promise.param.reserved
@param [true, false] reserved Set to true if the resolvable is {#reserve}d by you, marks resolution of reserved resolvable events and futures explicitly. Advanced feature, ignore unless you use {Resolvable#reserve} from edge.
Source
# File lib/concurrent-ruby/concurrent/promises.rb, line 1331 def wait(timeout = nil, resolve_on_timeout = false) super(timeout) or if resolve_on_timeout # if it fails to resolve it was resolved in the meantime # so return true as if there was no timeout !resolve(false) else false end end
Behaves as {AbstractEventFuture#wait} but has one additional optional argument resolve_on_timeout.
@param [true, false] resolve_on_timeout
If it times out and the argument is true it will also resolve the event.
@return [self, true, false] @see AbstractEventFuture#wait
Calls superclass method
Concurrent::Promises::AbstractEventFuture#wait