ChannelBuffers.NOOP
— Constantconst NOOP
A BClosure which copies input to output unmodified.
ChannelBuffers.BClosure
— TypeBClosure(f::function, args)
Store function and arguments. The signature of the function must be like f(cin::IO, cout::IO, args...)
.
ChannelBuffers.ChannelIO
— TypeChannelIO
Is read and written like an IOStream
. If buffers are empty/full transport them using channels allowing parallel task pipelining.
ChannelBuffers.TaskChain
— TypeTaskChain
An AbstractPipe
wich contains a list of running tasks and can be used for reading and writing. Created by a call to [open|run](::BClosureList)
.
An analogue of ProcessChain
.
Base.fetch
— Functionfetch(tl::TaskChain)
Wait for last Task in to finish, then return its result value. If the task fails with an exception, a TaskFailedException
(which wraps the failed task) is thrown.
Base.run
— Methodrun(BClosure; stdin=devnull, stdout=devnull, wait=true)
Start parallel task redirecting stdin and stdout
Base.wait
— Functionwait(tl::TaskChain)
Wait for the last task in the list to finish.
ChannelBuffers.:→
— Methoda → b (
ightarrow operator)
Convenience function to build a pipeline. pipeline(a, b, c)
is essentialy the same as a → b → c
ChannelBuffers._run
— Functionrun(::BClosureList; stdin=devnull, stdout=devnull, wait=true)
Start all parallel tasks defined in list, io redirection defaults are defined in the list
ChannelBuffers.closure
— Methodclosure(f::Function, args...)
Generate a BClosure
object, which can be used to be started in parallel. The function f
must have the signature f(cin::IO, cout::IO [, args...])
. It may be wrapped in an argumentless closure to be used in a Task
definition.
ChannelBuffers.task_code
— Methodtask_code, task_cin, task_cout, task_function, task_args
Access the argumentless function provided to the task