package misc
- Alphabetic
 
- Public
 - All
 
Type Members
- 
      
      
      
        
      
    
      
        final 
        class
      
      
        AsyncQueue[A] extends Serializable
      
      
      
And asynchronous queue implementation.
And asynchronous queue implementation.
On
poll, if there are queued elements, it returns oe immediately, otherwise it returns aFuture - 
      
      
      
        
      
    
      
        final 
        class
      
      
        AsyncSemaphore extends Serializable
      
      
      
The
AsyncSemaphoreis an asynchronous semaphore implementation that limits the parallelism onFutureexecution.The
AsyncSemaphoreis an asynchronous semaphore implementation that limits the parallelism onFutureexecution.The following example instantiates a semaphore with a maximum parallelism of 10:
val semaphore = AsyncSemaphore(maxParallelism = 10) def makeRequest(r: HttpRequest): Future[HttpResponse] = ??? // For such a task no more than 10 requests // are allowed to be executed in parallel. val future = semaphore.greenLight(() => makeRequest(???))
 - 
      
      
      
        
      
    
      
        final 
        class
      
      
        AsyncVar[A] extends AnyRef
      
      
      
Asynchronous mutable location, that is either empty or contains a value of type
A.Asynchronous mutable location, that is either empty or contains a value of type
A.It has 2 fundamental atomic operations:
- put which fills the var if empty, or blocks (asynchronously) otherwise until the var is empty again
 - take which empties the var if full, returning the contained value, or blocks (asynchronously) otherwise until there is a value to pull
 
The
AsyncVaris appropriate for building synchronization primitives and performing simple inter-thread communications. If it helps, it's similar with aBlockingQueue(capacity = 1), except that it doesn't block any threads, all waiting being callback-based.Given its asynchronous, non-blocking nature, it can be used on top of Javascript as well.
Inspired by
Control.Concurrent.MVarfrom Haskell. - 
      
      
      
        
      
    
      
        
        trait
      
      
        HygieneUtilMacros extends AnyRef
      
      
      
Utilities for macro-hygiene.
Utilities for macro-hygiene.
- Annotations
 - @bundle()
 
 - 
      
      
      
        
      
    
      
        
        trait
      
      
        InlineMacros extends AnyRef
      
      
      
- Annotations
 - @bundle()
 
 - 
      
      
      
        
      
    
      
        final 
        class
      
      
        ThreadLocal[A] extends AnyRef
      
      
      
Cross-platform equivalent for
java.lang.ThreadLocal, for specifying thread-local variables.Cross-platform equivalent for
java.lang.ThreadLocal, for specifying thread-local variables.These variables differ from their normal counterparts in that each thread that accesses one (via its ThreadLocal#get or ThreadLocal#set method) has its own, independently initialized copy of the variable.
 
Value Members
-  object AsyncQueue extends Serializable
 -  object AsyncSemaphore extends Serializable
 -  object AsyncVar
 - 
      
      
      
        
      
    
      
        
        object
      
      
        NonFatal
      
      
      
Extractor of non-fatal
Throwableinstances.Extractor of non-fatal
Throwableinstances.This is an alternative to
scala.util.control.NonFatalthat only considersVirtualMachineErroras being non-fatal. -  object ThreadLocal
 

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.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observablepattern:Observableimplementationsmonix.types implements type-class shims, to be translated to type-classes provided by libraries such as Cats or Scalaz.
monix.cats is the optional integration with the Cats library, providing translations for the types described in
monix.types.monix.scalaz is the optional integration with the Scalaz library, providing translations for the types described in
monix.types.