class

Tasker::Pipeline(Input, Output)

Inherits Tasker::Processor < Reference < Object

a lossy pipeline for realtime processing so any outputs are as up to date as possible. This means some results might be ignored at various stages in the pipeline.

Constructors

new(name : String | Nil = nil, &work : Input -> Output)
Source

Instance methods

chain(name : String | Nil = @name, &work : Output -> _)

push the output of this pipeline task into the input of the next task, if that task is idle

Source
chain(task : Pipeline(Output))

push the output of this pipeline task into the input of the next task, if that task is idle

Source
close

shutdown processing

Source
closed?

check if the pipline is running

Source
idle?

is work being performed currently

Source
name

name of the pipeline

Source
process(input : Input) : Bool

non-blocking send

Source
subscribe

push all the outputs of this task to the subscriber

Source
subscribe(subscription : Subscription(Output))

push all the outputs of this task to the subscriber

Source
time

the time it took to perform the last bit of work

Source