Module: Concurrent::Promises::FactoryMethods::NewChannelIntegration

Included in:
Concurrent::Promises::FactoryMethods
Defined in:
lib-edge/concurrent/edge/promises.rb

Overview

Note:

Edge Features are under active development and may change frequently.

  • Deprecations are not added before incompatible changes.
  • Edge version: major is always 0, minor bump means incompatible change, patch bump means compatible change.
  • Edge features may also lack tests and documentation.
  • Features developed in concurrent-ruby-edge are expected to move to concurrent-ruby when finalised.

Instance Method Summary collapse

Instance Method Details

#select_channel(*channels) ⇒ Future

Selects a channel which is ready to be read from.

Parameters:

Returns:

  • (Future)

    a future which is fulfilled with pair [channel, message] when one of the channels is available for reading



167
168
169
170
171
# File 'lib-edge/concurrent/edge/promises.rb', line 167

def select_channel(*channels)
  probe = Promises.resolvable_future
  channels.each { |ch| ch.pop_for_select probe }
  probe
end