object ChannelType extends Serializable
- Source
- ChannelType.scala
- Alphabetic
- By Inheritance
- ChannelType
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- sealed abstract class ConsumerSide extends Serializable
Enumeration for describing the type of the producer, with two possible values:
Enumeration for describing the type of the producer, with two possible values:
- sealed abstract class ProducerSide extends Serializable
Enumeration for describing the type of the producer, with two possible values:
Enumeration for describing the type of the producer, with two possible values:
- MultiProducer (default)
- SingleProducer
This is often used to optimize the underlying buffer used. The multi-producer option is the safe default and specifies that multiple producers (threads, actors, etc) can push events concurrently, whereas the single-producer option specifies that a single producer can (sequentially) push events and can be used as an (unsafe) optimization.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(id: String): Option[ChannelType]
Converts a string value into a ChannelType.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assemble(p: ProducerSide, c: ConsumerSide): ChannelType
Given a ProducerSide value and a ConsumerSide value, assemble a ChannelType value out of them.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object MPMC extends ChannelType with Product with Serializable
Multi-producer, multi-consumer
- case object MPSC extends ChannelType with Product with Serializable
Single-producer, single-consumer
- case object MultiConsumer extends ConsumerSide with Product with Serializable
Multi-consumer channel side, meaning that multiple actors can pull data from the channel, from multiple threads, concurrently.
- case object MultiProducer extends ProducerSide with Product with Serializable
Multi-producer channel side, meaning that multiple actors can push messages from multiple threads, concurrently.
- case object SPMC extends ChannelType with Product with Serializable
Single-producer, multi-consumer
- case object SPSC extends ChannelType with Product with Serializable
Single-producer, single-consumer
- case object SingleConsumer extends ConsumerSide with Product with Serializable
Single-consumer channel side, meaning that a single actor can pull data from the channel.
Single-consumer channel side, meaning that a single actor can pull data from the channel.
It can do so from multiple threads, but not concurrently, so it needs clear happens-before relationships between subsequent pull operations.
WARNING: This is often selected as an optimization. Use with care and prefer MultiConsumer when in doubt.
- case object SingleProducer extends ProducerSide with Product with Serializable
Single-producer channel side, meaning that only a single actor can push messages on the channel.
Single-producer channel side, meaning that only a single actor can push messages on the channel.
It can do so from multiple threads, but not concurrently, so it needs clear happens-before relationships between subsequent push operations.
WARNING: This is often selected as an optimization. Use with care and prefer MultiProducer when in doubt.
This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomic
types, as alternative tojava.util.concurrent.atomic
monix.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.tail exposes Iterant for purely functional pull based streaming:
Batch
andBatchCursor
, the alternatives to Scala'sIterable
andIterator
respectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.