Module: ConcurrentPipeline::Processors::ActorProcessor::PipeActor

Included in:
ActorPool::Pool, Changeset, Dispatch, Scheduler, Ticker, Work
Defined in:
lib/concurrent_pipeline/processors/actor_processor.rb

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



67
68
69
# File 'lib/concurrent_pipeline/processors/actor_processor.rb', line 67

def self.extended(base)
  base.include(InstanceMethods)
end

Instance Method Details

#default_blockObject



85
86
87
# File 'lib/concurrent_pipeline/processors/actor_processor.rb', line 85

def default_block
  @default_block
end

#on_blocksObject



81
82
83
# File 'lib/concurrent_pipeline/processors/actor_processor.rb', line 81

def on_blocks
  @on_blocks ||= {}
end

#spawnObject



71
72
73
74
75
76
77
78
79
# File 'lib/concurrent_pipeline/processors/actor_processor.rb', line 71

def spawn(...)
  instance = self.new(...)
  Concurrent::ErlangActor.spawn(type: :on_pool) do
    receive(keep: true) do |msg|
      instance.ctx = self
      instance.respond(msg)
    end
  end
end