Pipe

abstract class Pipe[I, +O] extends Serializable

Represents a factory for an input/output channel for broadcasting input to multiple subscribers.

Companion:
object
trait Serializable
class Object
trait Matchable
class Any

Value members

Abstract methods

Returns an input/output pair that can be used to push input to a single subscriber.

Returns an input/output pair that can be used to push input to a single subscriber.

This means that the returned observable should be subscribed at most once, otherwise the behavior is undefined.

See also:

multicast for creating a safe observable that can be subscribed many times.

Concrete methods

def concurrent(implicit s: Scheduler): (Sync[I], Observable[O])

Returns an input/output pair with an input that can be used synchronously and concurrently (without back-pressure or multi-threading issues) to push signals to multiple subscribers.

Returns an input/output pair with an input that can be used synchronously and concurrently (without back-pressure or multi-threading issues) to push signals to multiple subscribers.

def concurrent(strategy: Synchronous[I])(implicit s: Scheduler): (Sync[I], Observable[O])

Returns an input/output pair with an input that can be used synchronously and concurrently (without back-pressure or multi-threading issues) to push signals to multiple subscribers.

Returns an input/output pair with an input that can be used synchronously and concurrently (without back-pressure or multi-threading issues) to push signals to multiple subscribers.

Value parameters:
strategy

is the OverflowStrategy used for the underlying multi-producer/single-consumer buffer

def concurrent(strategy: Synchronous[I], producerType: ProducerSide)(implicit s: Scheduler): (Sync[I], Observable[O])

Returns an input/output pair with an input that can be used synchronously and concurrently (without back-pressure or multi-threading issues) to push signals to multiple subscribers.

Returns an input/output pair with an input that can be used synchronously and concurrently (without back-pressure or multi-threading issues) to push signals to multiple subscribers.

Value parameters:
producerType

specifies the ChannelType.ProducerSide, which configures the type of the producer, for performance optimization; can be multi producer (the default) or single producer

strategy

is the OverflowStrategy used for the underlying multi-producer/single-consumer buffer

final def liftByOperator[B](op: O => B): Pipe[I, B]
def multicast(implicit s: Scheduler): (Observer[I], Observable[O])

Returns an input/output pair that can be used to push input to multiple subscribers.

Returns an input/output pair that can be used to push input to multiple subscribers.

final def transform[B](f: Observable[O] => Observable[B]): Pipe[I, B]

Transforms the source using the given transformer function.

Transforms the source using the given transformer function.