public abstract class Mailbox extends java.util.concurrent.ForkJoinTask<scala.runtime.BoxedUnit> implements SystemMessageQueue, java.lang.Runnable
INTERNAL API
Constructor and Description |
---|
Mailbox(MessageQueue messageQueue) |
Modifier and Type | Method and Description |
---|---|
protected int |
_statusDoNotCallMeDirectly() |
protected SystemMessage |
_systemQueueDoNotCallMeDirectly() |
ActorCell |
actor() |
boolean |
becomeClosed()
set new primary status Closed.
|
boolean |
canBeScheduledForExecution(boolean hasMessageHint,
boolean hasSystemMessageHint) |
static boolean |
cancel(boolean x$1) |
protected void |
cleanUp()
Overridable callback to clean up the mailbox,
called when an actor is unregistered.
|
static int |
Closed() |
static boolean |
compareAndSetForkJoinTaskTag(short x$1,
short x$2) |
static void |
complete(V x$1) |
static void |
completeExceptionally(java.lang.Throwable x$1) |
int |
currentStatus() |
static boolean |
debug() |
Envelope |
dequeue()
Try to dequeue the next message from this queue, return null failing that.
|
MessageDispatcher |
dispatcher() |
static int |
doExec() |
void |
enqueue(ActorRef receiver,
Envelope msg)
Try to enqueue the message to this queue, or throw an exception.
|
boolean |
exec() |
static java.util.concurrent.ForkJoinTask<V> |
fork() |
static V |
get() |
static V |
get(long x$1,
java.util.concurrent.TimeUnit x$2) |
static java.lang.Throwable |
getException() |
static short |
getForkJoinTaskTag() |
void |
getRawResult() |
boolean |
hasMessages()
Indicates whether this queue is non-empty.
|
abstract static boolean |
hasSystemMessages() |
static void |
internalPropagateException(java.lang.Throwable x$1) |
static void |
internalWait(long x$1) |
static V |
invoke() |
static boolean |
isCancelled() |
boolean |
isClosed() |
static boolean |
isCompletedAbnormally() |
static boolean |
isCompletedNormally() |
static boolean |
isDone() |
boolean |
isScheduled() |
boolean |
isSuspended() |
static V |
join() |
MessageQueue |
messageQueue() |
int |
numberOfMessages()
Should return the current number of messages held in this queue; may
always return 0 if no other value is available efficiently.
|
static int |
Open() |
void |
processAllSystemMessages()
Will at least try to process all queued system messages: in case of
failure simply drop and go on to the next, because there is nothing to
restart here (failure is in ActorCell somewhere …).
|
static void |
quietlyComplete() |
static void |
quietlyInvoke() |
static void |
quietlyJoin() |
static int |
recordExceptionalCompletion(java.lang.Throwable x$1) |
static void |
reinitialize() |
boolean |
resume()
Reduce the suspend count by one.
|
void |
run() |
static int |
Scheduled() |
void |
setActor(ActorCell cell) |
boolean |
setAsIdle()
Reset Scheduled status, keeping primary status as is.
|
boolean |
setAsScheduled()
Set Scheduled status, keeping primary status as is.
|
static short |
setForkJoinTaskTag(short x$1) |
void |
setRawResult(scala.runtime.BoxedUnit unit) |
protected void |
setStatus(int newStatus) |
static int |
shouldNotProcessMask() |
boolean |
shouldProcessMessage() |
static int |
shouldScheduleMask() |
boolean |
suspend()
Increment the suspend count by one.
|
int |
suspendCount() |
static int |
suspendMask() |
static int |
suspendUnit() |
abstract static EarliestFirstSystemMessageList |
systemDrain(LatestFirstSystemMessageList newContents) |
abstract static void |
systemEnqueue(ActorRef receiver,
SystemMessage message) |
protected LatestFirstSystemMessageList |
systemQueueGet() |
protected boolean |
systemQueuePut(LatestFirstSystemMessageList _old,
LatestFirstSystemMessageList _new) |
static boolean |
tryUnfork() |
protected boolean |
updateStatus(int oldStatus,
int newStatus) |
adapt, adapt, adapt, cancel, compareAndSetForkJoinTaskTag, complete, completeExceptionally, fork, get, get, getException, getForkJoinTaskTag, getPool, getQueuedTaskCount, getSurplusQueuedTaskCount, helpQuiesce, inForkJoinPool, invoke, invokeAll, invokeAll, invokeAll, isCancelled, isCompletedAbnormally, isCompletedNormally, isDone, join, peekNextLocalTask, pollNextLocalTask, pollTask, quietlyComplete, quietlyInvoke, quietlyJoin, reinitialize, setForkJoinTaskTag, tryUnfork
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
hasSystemMessages, systemDrain, systemEnqueue
public Mailbox(MessageQueue messageQueue)
public static final int Open()
public static final int Closed()
public static final int Scheduled()
public static final int shouldScheduleMask()
public static final int shouldNotProcessMask()
public static final int suspendMask()
public static final int suspendUnit()
public static final boolean debug()
public static final int doExec()
public static final void internalWait(long x$1)
public static final int recordExceptionalCompletion(java.lang.Throwable x$1)
public static void internalPropagateException(java.lang.Throwable x$1)
public static final java.util.concurrent.ForkJoinTask<V> fork()
public static final V join()
public static final V invoke()
public static boolean cancel(boolean x$1)
public static final boolean isDone()
public static final boolean isCancelled()
public static final boolean isCompletedAbnormally()
public static final boolean isCompletedNormally()
public static final java.lang.Throwable getException()
public static void completeExceptionally(java.lang.Throwable x$1)
public static void complete(V x$1)
public static final void quietlyComplete()
public static final V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.lang.InterruptedException
public static final V get(long x$1, java.util.concurrent.TimeUnit x$2) throws java.util.concurrent.TimeoutException, java.util.concurrent.ExecutionException, java.lang.InterruptedException
java.util.concurrent.TimeoutException
java.util.concurrent.ExecutionException
java.lang.InterruptedException
public static final void quietlyJoin()
public static final void quietlyInvoke()
public static void reinitialize()
public static boolean tryUnfork()
public static final short getForkJoinTaskTag()
public static final short setForkJoinTaskTag(short x$1)
public static final boolean compareAndSetForkJoinTaskTag(short x$1, short x$2)
public abstract static void systemEnqueue(ActorRef receiver, SystemMessage message)
public abstract static EarliestFirstSystemMessageList systemDrain(LatestFirstSystemMessageList newContents)
public abstract static boolean hasSystemMessages()
public MessageQueue messageQueue()
public ActorCell actor()
public void setActor(ActorCell cell)
public MessageDispatcher dispatcher()
public void enqueue(ActorRef receiver, Envelope msg)
receiver
- (undocumented)msg
- (undocumented)public Envelope dequeue()
public boolean hasMessages()
public int numberOfMessages()
hasMessages
instead.protected int _statusDoNotCallMeDirectly()
protected SystemMessage _systemQueueDoNotCallMeDirectly()
public final int currentStatus()
public final boolean shouldProcessMessage()
public final int suspendCount()
public final boolean isSuspended()
public final boolean isClosed()
public final boolean isScheduled()
protected final boolean updateStatus(int oldStatus, int newStatus)
protected final void setStatus(int newStatus)
public final boolean resume()
public final boolean suspend()
public final boolean becomeClosed()
public final boolean setAsScheduled()
public final boolean setAsIdle()
protected final LatestFirstSystemMessageList systemQueueGet()
protected final boolean systemQueuePut(LatestFirstSystemMessageList _old, LatestFirstSystemMessageList _new)
public final boolean canBeScheduledForExecution(boolean hasMessageHint, boolean hasSystemMessageHint)
public final void run()
run
in interface java.lang.Runnable
public final void getRawResult()
public final void setRawResult(scala.runtime.BoxedUnit unit)
setRawResult
in class java.util.concurrent.ForkJoinTask<scala.runtime.BoxedUnit>
public final boolean exec()
exec
in class java.util.concurrent.ForkJoinTask<scala.runtime.BoxedUnit>
public final void processAllSystemMessages()
protected void cleanUp()