Module: OnyxCord::Internal::EventExecutor

Defined in:
lib/onyxcord/internal/event_executor.rb

Defined Under Namespace

Classes: AsyncPool, Inline, Pool

Constant Summary collapse

STOP =
Object.new.freeze

Class Method Summary collapse

Class Method Details

.build(type, workers:, queue_size: nil) ⇒ Object



148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/onyxcord/internal/event_executor.rb', line 148

def build(type, workers:, queue_size: nil)
  case type
  when :inline
    Inline.new
  when :pool
    Pool.new(size: workers, queue_size: queue_size)
  when :async_pool
    AsyncPool.new(size: workers, queue_size: queue_size)
  else
    raise ArgumentError, "Unknown event executor: #{type.inspect}"
  end
end