# File lib/dynflow/throttle_limiter.rb, line 6 def initialize(world) @world = world spawn end
# File lib/dynflow/throttle_limiter.rb, line 23 def cancel!(plan_id) core.tell([:cancel, plan_id]) end
# File lib/dynflow/throttle_limiter.rb, line 35 def core_class Core end
# File lib/dynflow/throttle_limiter.rb, line 15 def finish(plan_id) core.tell([:finish, plan_id]) end
# File lib/dynflow/throttle_limiter.rb, line 19 def handle_plans!(*args) core.ask!([:handle_plans, *args]) end
# File lib/dynflow/throttle_limiter.rb, line 11 def initialize_plan(plan_id, semaphores_hash) core.tell([:initialize_plan, plan_id, semaphores_hash]) end
# File lib/dynflow/throttle_limiter.rb, line 31 def observe(parent_id = nil) core.ask!([:observe, parent_id]) end
# File lib/dynflow/throttle_limiter.rb, line 27 def terminate core.ask(:terminate!) end
# File lib/dynflow/throttle_limiter.rb, line 41 def spawn Concurrent.future.tap do |initialized| @core = core_class.spawn(:name => 'throttle-limiter', :args => [@world], :initialized => initialized) end end