Package

monix.execution

misc

Permalink

package misc

Visibility
  1. Public
  2. All

Type Members

  1. final class AsyncQueue[A] extends Serializable

    Permalink

    And asynchronous queue implementation.

    And asynchronous queue implementation.

    On poll, if there are queued elements, it returns oe immediately, otherwise it returns a Future

  2. final class AsyncSemaphore extends Serializable

    Permalink

    The AsyncSemaphore is an asynchronous semaphore implementation that limits the parallelism on Future execution.

    The AsyncSemaphore is an asynchronous semaphore implementation that limits the parallelism on Future execution.

    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(???))
  3. final class AsyncVar[A] extends AnyRef

    Permalink

    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 AsyncVar is appropriate for building synchronization primitives and performing simple inter-thread communications. If it helps, it's similar with a BlockingQueue(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.MVar from Haskell.

  4. trait HygieneUtilMacros extends AnyRef

    Permalink

    Utilities for macro-hygiene.

  5. trait InlineMacros extends AnyRef

    Permalink
  6. final class ThreadLocal[A] extends AnyRef

    Permalink

    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

  1. object AsyncQueue extends Serializable

    Permalink
  2. object AsyncSemaphore extends Serializable

    Permalink
  3. object AsyncVar

    Permalink
  4. object NonFatal

    Permalink

    Extractor of non-fatal Throwable instances.

    Extractor of non-fatal Throwable instances.

    This is an alternative to scala.util.control.NonFatal that only considers VirtualMachineError as being non-fatal.

  5. object ThreadLocal

    Permalink

Ungrouped