Ravn::Net::Broker::

Promises module

Adds concurrency futures/promises API

Public Class Methods

prepended( mod )

Inclusion hook – log the addition of promises.

# File lib/ravn/net/broker/promises.rb, line 18
def self::prepended( mod )
        Ravn::Net::Broker.log.debug "adding promises functionality to brokers"

        super
end

Public Instance Methods

future_event( event_type )

Returns a Future that will resolve when the first event matching the specification is received.

# File lib/ravn/net/broker/promises.rb, line 27
def future_event( event_type )
        future = Concurrent::Promises.resolvable_future
        self.once( event_type, &future.method(:fulfill) )
        return future
end