SourceOps

ox.channels.SourceOps
trait SourceOps[+T]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Source[T]
class Channel[T]
Self type
Source[T]

Members list

Value members

Concrete methods

def collect[U](f: PartialFunction[T, U])(using Ox, BufferCapacity): Source[U]

Applies the given mapping function f to each value received from this source, for which the function is defined, and sends the results to the returned channel. If f is not defined at a value, the value will be skipped.

Applies the given mapping function f to each value received from this source, for which the function is defined, and sends the results to the returned channel. If f is not defined at a value, the value will be skipped.

Errors from this channel are propagated to the returned channel. Any exceptions that occur when invoking f are propagated as errors to the returned channel as well.

Must be run within a scope, as a child fork is created, which receives from this source and sends the mapped values to the resulting one.

Value parameters

f

The mapping function.

Attributes

Returns

A source, onto which results of the mapping function will be sent.

def filter(f: T => Boolean)(using Ox, BufferCapacity): Source[T]
def map[U](f: T => U)(using Ox, BufferCapacity): Source[U]

Applies the given mapping function f to each value received from this source, and sends the results to the returned channel.

Applies the given mapping function f to each value received from this source, and sends the results to the returned channel.

Errors from this channel are propagated to the returned channel. Any exceptions that occur when invoking f are propagated as errors to the returned channel as well.

Must be run within a scope, as a child fork is created, which receives from this source and sends the mapped values to the resulting one.

Value parameters

f

The mapping function.

Attributes

Returns

A source, onto which results of the mapping function will be sent.

def tap(f: T => Unit)(using Ox, BufferCapacity): Source[T]

Applies the given consumer function f to each value received from this source.

Applies the given consumer function f to each value received from this source.

Errors from this channel are propagated to the returned channel. Any exceptions that occur when invoking f are propagated as errors to the returned channel as well.

Must be run within a scope, as a child fork is created, which receives from this source and sends the mapped values to the resulting one.

Useful for side-effects without result values, like logging and debugging.

Value parameters

f

The consumer function.

Attributes

Returns

A source, which the values from the input source are passed to.

def transform[U](f: (Iterator[T]) => Iterator[U])(using Ox, BufferCapacity): Source[U]