object ConcurrentChannel extends Serializable
- Source
 - ConcurrentChannel.scala
 
- Alphabetic
 - By Inheritance
 
- ConcurrentChannel
 - Serializable
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Type Members
-   final  class ApplyBuilders[F[_]] extends AnyVal
Returned by the apply builder.
 
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[F[_]](implicit F: Concurrent[F]): ApplyBuilders[F]
Builds an ConcurrentQueue value for
Fdata types that implement theConcurrenttype class.Builds an ConcurrentQueue value for
Fdata types that implement theConcurrenttype class.This builder uses the Partially-Applied Type technique.
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    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()
 
 -    def of[F[_], E, A](implicit F: Concurrent[F], cs: ContextShift[F]): F[ConcurrentChannel[F, E, A]]
Builds a multi-producer channel.
Builds a multi-producer channel.
This is the safe constructor.
- F
 is a
cats.effect.Concurrenttype class restriction; this queue is built to work withConcurrentdata types- cs
 is a
ContextShift, needed for triggering async boundaries for fairness reasons, in case there's a need to back-pressure on the internal buffer
- See also
 withConfig for fine tuning for the created channel.
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - AnyRef → Any
 
 -    def unsafe[F[_], E, A](defaultConsumerConfig: Config = ConsumerF.Config.default, producerType: ProducerSide = MultiProducer)(implicit F: Concurrent[F], cs: ContextShift[F]): ConcurrentChannel[F, E, A]
The unsafe version of the ConcurrentChannel.withConfig builder.
The unsafe version of the ConcurrentChannel.withConfig builder.
UNSAFE PROTOCOL: This is unsafe due to problems that can happen via selecting the wrong ChannelType, so use with care.
UNSAFE BECAUSE IMPURE: this builder violates referential transparency, as the queue keeps internal, shared state. Only use when you know what you're doing, otherwise prefer ConcurrentChannel.withConfig.
- defaultConsumerConfig
 is the default consumer configuration, for when using ConcurrentChannel.consume, see the documentation of ConsumerF.Config for details
- producerType
 (UNSAFE) specifies the concurrency scenario for the producer's side, for fine tuning that can lead to performance gains; the safe choice is MultiProducer and if in doubt, use it
- F
 is a
cats.effect.Concurrenttype class restriction; this queue is built to work withConcurrentdata types- cs
 is a
ContextShift, needed for triggering async boundaries for fairness reasons, in case there's a need to back-pressure on the internal buffer
- Annotations
 - @UnsafeProtocol() @UnsafeBecauseImpure()
 
 -   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])
 
 -    def withConfig[F[_], E, A](defaultConsumerConfig: Config = ConsumerF.Config.default, producerType: ProducerSide = MultiProducer)(implicit F: Concurrent[F], cs: ContextShift[F]): F[ConcurrentChannel[F, E, A]]
Builds an ConcurrentChannel with fined tuned config parameters.
Builds an ConcurrentChannel with fined tuned config parameters.
UNSAFE PROTOCOL: This is unsafe due to problems that can happen via selecting the wrong ChannelType.ProducerSide, so use with care.
- defaultConsumerConfig
 is the default consumer configuration, for when using ConcurrentChannel.consume, see the documentation of ConsumerF.Config for details
- producerType
 (UNSAFE) specifies the concurrency scenario for the producer's side, for fine tuning that can lead to performance gains; the safe choice is MultiProducer and if in doubt, use it
- F
 is a
cats.effect.Concurrenttype class restriction; this queue is built to work withConcurrentdata types- cs
 is a
ContextShift, needed for triggering async boundaries for fairness reasons, in case there's a need to back-pressure on the internal buffer
- Annotations
 - @UnsafeProtocol()
 
 

This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomictypes, as alternative tojava.util.concurrent.atomicmonix.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
Observablepattern:Observableimplementationsmonix.tail exposes Iterant for purely functional pull based streaming:
BatchandBatchCursor, the alternatives to Scala'sIterableandIteratorrespectively 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.