Object/Class

monix.catnap

ConcurrentQueue

Related Docs: class ConcurrentQueue | package catnap

Permalink

object ConcurrentQueue extends Serializable

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConcurrentQueue
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class ApplyBuilders[F[_]] extends AnyVal

    Permalink

    Returned by the apply builder.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply[F[_]](implicit F: Concurrent[F]): ApplyBuilders[F]

    Permalink

    Builds an ConcurrentQueue value for F data types that implement the Concurrent type class.

    Builds an ConcurrentQueue value for F data types that implement the Concurrent type class.

    This builder uses the Partially-Applied Type technique.

    F

    is a cats.effect.Concurrent type class restriction; this queue is built to work with Concurrent data types

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def bounded[F[_], A](capacity: Int)(implicit F: Concurrent[F], cs: ContextShift[F]): F[ConcurrentQueue[F, A]]

    Permalink

    Builds a limited capacity and back-pressured ConcurrentQueue.

    Builds a limited capacity and back-pressured ConcurrentQueue.

    capacity

    is the maximum capacity of the internal buffer; note that due to performance optimizations, the capacity of the internal buffer can get rounded to a power of 2, so the actual capacity may be slightly different than the one specified

    F

    is a cats.effect.Concurrent type class restriction; this queue is built to work with Concurrent data 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

    unbounded for building an unbounded queue that can use the entire memory available to the process.

  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  19. def unbounded[F[_], A](chunkSizeHint: Option[Int] = None)(implicit F: Concurrent[F], cs: ContextShift[F]): F[ConcurrentQueue[F, A]]

    Permalink

    Builds an unlimited ConcurrentQueue that can use the entire memory available to the process.

    Builds an unlimited ConcurrentQueue that can use the entire memory available to the process.

    chunkSizeHint

    is an optimization parameter — the underlying implementation may use an internal buffer that uses linked arrays, in which case the "chunk size" represents the size of a chunk; providing it is just a hint, it may or may not be used

    F

    is a cats.effect.Concurrent type class restriction; this queue is built to work with Concurrent data 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

    bounded for building a limited capacity queue.

  20. def unsafe[F[_], A](capacity: BufferCapacity, channelType: ChannelType = MPMC)(implicit F: Concurrent[F], cs: ContextShift[F]): ConcurrentQueue[F, A]

    Permalink

    The unsafe version of the ConcurrentQueue.bounded builder.

    The unsafe version of the ConcurrentQueue.bounded 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 ConcurrentQueue.withConfig or ConcurrentQueue.bounded.

    capacity

    specifies the BufferCapacity, which can be either "bounded" (with a maximum capacity), or "unbounded"

    channelType

    (UNSAFE) specifies the concurrency scenario, for fine tuning the performance

    F

    is a cats.effect.Concurrent type class restriction; this queue is built to work with Concurrent data 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()
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. def withConfig[F[_], A](capacity: BufferCapacity, channelType: ChannelType)(implicit F: Concurrent[F], cs: ContextShift[F]): F[ConcurrentQueue[F, A]]

    Permalink

    Builds an ConcurrentQueue with fined tuned config parameters.

    Builds an ConcurrentQueue with fined tuned config parameters.

    UNSAFE PROTOCOL: This is unsafe due to problems that can happen via selecting the wrong ChannelType, so use with care.

    capacity

    specifies the BufferCapacity, which can be either "bounded" (with a maximum capacity), or "unbounded"

    channelType

    (UNSAFE) specifies the concurrency scenario, for fine tuning the performance

    F

    is a cats.effect.Concurrent type class restriction; this queue is built to work with Concurrent data 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()

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped