abstract class Concurrent::Stream::SendRecv(T, SC)
- Concurrent::Stream::SendRecv(T, SC)
- Concurrent::Stream::Base
- Reference
- Object
Overview
#map
, #select
, #run
and #tee
run in a fiber pool.
#batch
runs in a single fiber
All other methods "join" in the calling fiber.
Exceptions are raised in #each when joined.
TODO better error handling.
Included Modules
- Concurrent::Stream::Receive
Direct Known Subclasses
- Concurrent::Stream::Batch(S, D)
- Concurrent::Stream::Map(S, D, SC)
- Concurrent::Stream::Run(S)
- Concurrent::Stream::Select(S)
- Concurrent::Stream::Source(T)
- Concurrent::Stream::Tee(S)
Defined in:
concurrent/stream.crConstructors
Instance Method Summary
-
#batch(size : Int32, *, flush_interval : Float? = nil, flush_empty : Bool = false)
Groups results in to chunks up to the given size.
- #close : Nil
-
#map(*, fibers : Int32? = nil, &block : T -> U) forall U
Parallel map.
-
#run(*, fibers : Int32? = nil, &block : T -> _)
Parallel run.
-
#scope(&block : -> U) forall U
Further processing is evaluated within the scope of the returned object.
-
#select(*, fibers : Int32? = nil, &block : T -> Bool)
Parallel select.
- #serial
-
#tee(*, fibers : Int32? = nil, &block : T -> _)
Parallel tee.
- #to_a(*args, **options)
- #to_a(*args, **options, &)
Instance methods inherited from module Concurrent::Stream::Receive
handle_error(ex, src_vch, src_ech, dst_ech)
handle_error
Instance methods inherited from class Concurrent::Stream::Base
unhandled_error(ex : Exception) : Nil
unhandled_error,
wait(*args, **options)wait(*args, **options, &) wait
Constructor methods inherited from class Concurrent::Stream::Base
new(*, parent)
new
Constructor Detail
Instance Method Detail
Groups results in to chunks up to the given size. Runs in a single fiber. Multiple fibers would delay further stream processing.
Parallel map. &block
is evaluated in a fiber pool.
Parallel run. &block
is evaluated in a fiber pool.
Further processing is not possible except for #wait.
Further processing is evaluated within the scope of the returned object.
Parallel select. &block
is evaluated in a fiber pool.
Parallel tee. &block
is evaluated in a fiber pool.
The original message is passed to the next Stream.