trait ForkingScheduler extends Scheduler

A scheduler that provides methods to fork the execution of Future computations and behaves similarly to a thread pool

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ForkingScheduler
  2. Scheduler
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def asExecutorService(): ExecutorService

    Creates an ExecutorService wrapper for this forking scheduler.

    Creates an ExecutorService wrapper for this forking scheduler. The original forking scheduler remains unchanged and is used as the underlying implementation of the returned executor. If the executor service is shut down, only the wrapper is shut down and the original forking scheduler continues operating.

    returns

    the executor service wrapper

  2. abstract def blocking[T](f: => T)(implicit perm: CanAwait): T

    Executes a function f in a blocking fashion.

    Executes a function f in a blocking fashion.

    Note: The permit may be removed in the future.

    Definition Classes
    Scheduler
  3. abstract def flush(): Unit

    Flush the schedule.

    Flush the schedule. Returns when there is no more work to do.

    Definition Classes
    Scheduler
  4. abstract def fork[T](executor: Executor)(f: => Future[T]): Future[T]

    Forks the execution of a Future computation using the provided executor.

    Forks the execution of a Future computation using the provided executor.

    T

    the type of the Future computation

    executor

    the executor to be used to run the Future computation

    f

    the Future computation to be forked

    returns

    a Future to be satisfied when the forked Future is completed

  5. abstract def fork[T](f: => Future[T]): Future[T]

    Forks the execution of a Future computation even if the scheduler is overloaded.

    Forks the execution of a Future computation even if the scheduler is overloaded.

    T

    the type of the Future computation

    f

    the Future computation to be forked

    returns

    a Future to be satisfied when the forked Future is completed

  6. abstract def numDispatches: Long

    The number of dispatches performed by this scheduler.

    The number of dispatches performed by this scheduler.

    Definition Classes
    Scheduler
  7. abstract def redirectFuturePools(): Boolean

    Indicates if FuturePools should have their tasks redirected to the forking scheduler.

    Indicates if FuturePools should have their tasks redirected to the forking scheduler.

    returns

    if enabled

  8. abstract def submit(r: Runnable): Unit

    Schedule r to be run at some time in the future.

    Schedule r to be run at some time in the future.

    Definition Classes
    Scheduler
  9. abstract def tryFork[T](f: => Future[T]): Future[Option[T]]

    Tries to fork the execution of a Future computation and returns empty in case the scheduler is overloaded.

    Tries to fork the execution of a Future computation and returns empty in case the scheduler is overloaded.

    T

    the type of the Future computation

    f

    the Future computation to be forked

    returns

    A Future with None if the scheduler is overloaded or Some[T] if the task is successfully forked and executed.

  10. abstract def withMaxSyncConcurrency(concurrency: Int, maxWaiters: Int): ForkingScheduler

    Creates a wrapper of this scheduler with a fixed max synchronous concurrency.

    Creates a wrapper of this scheduler with a fixed max synchronous concurrency. The concurrency limit is applied to synchronous execution so tasks can be running in parallel if they're suspended at asynchronous boundaries but once they are scheduled for execution only concurrency tasks can be running in parallel.

    The original forking scheduler remains unchanged and is used as the underlying implementation of the returned scheduler.

    concurrency

    the max concurrency

    maxWaiters

    max number of pending tasks. When this limit is reached, the scheduler starts to return RejectedExecutionExceptions

    returns

    the wrapper with a fixed max concurrency

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def blockingTimeNanos: Long

    Total time spent doing blocking operations, in nanoseconds.

    Total time spent doing blocking operations, in nanoseconds.

    This should only include time spent on threads where com.twitter.util.Awaitable.CanAwait.trackElapsedBlocking returns true.

    returns

    -1 if the Scheduler does not support tracking this.

    Definition Classes
    Scheduler
    Note

    this does not include time spent doing blocking code outside of Scheduler.blocking. For example, Future(someSlowSynchronousIO) would not be accounted for here.

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Scheduler

Inherited from AnyRef

Inherited from Any

Ungrouped