c

scala.tools.nsc.util

WorkScheduler

class WorkScheduler extends AnyRef

Source
WorkScheduler.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WorkScheduler
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new WorkScheduler()

Type Members

  1. type Action = () ⇒ Unit

Value Members

  1. def askDoQuickly[A](op: () ⇒ A): InterruptReq { type R = A }
  2. def cancelQueued(): Unit

    Called from client: cancel all queued actions

  3. def dequeueAll[T](f: (Action) ⇒ Option[T]): Seq[T]
  4. def dequeueAllInterrupts(f: (InterruptReq) ⇒ Unit): Unit
  5. def doQuickly[A](op: () ⇒ A): A

    Called from client: have interrupt executed by server and return result

  6. def moreWork: Boolean

    called from Server: test whether one of todo list, throwables, or InterruptReqs is nonempty

  7. def nextWorkItem(): Option[Action]

    Called from server: get first action in todo list, and pop it off

  8. def pollInterrupt(): Option[InterruptReq]
  9. def pollThrowable(): Option[Throwable]

    Called from server: return optional exception posted by client Reset to no exception.

  10. def postWorkItem(action: Action): Unit

    Called from client: have action executed by server

  11. def raise(exc: Throwable): Unit

    Called from client: Require an exception to be thrown on next poll.

  12. def waitForMoreWork(): Unit

    Called from server: block until one of todo list, throwables or interruptReqs is nonempty