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.
- trait InlineMacros extends AnyRef
-
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