Class EarliestFirstSystemMessageList
- java.lang.Object
-
- scala.AnyVal
-
- akka.dispatch.sysmsg.EarliestFirstSystemMessageList
-
public class EarliestFirstSystemMessageList extends scala.AnyVal
INTERNAL APIValue class supporting list operations on system messages. The
next
field ofSystemMessage
is hidden, and can only accessed through the value classesLatestFirstSystemMessageList
andEarliestFirstSystemMessageList
, abstracting over the fact that system messages are the list nodes themselves. If used properly, this stays a compile time construct without any allocation overhead.This list is mutable.
This list type also encodes that the messages contained are in reverse order, i.e. the head of the list is the latest appended element.
-
-
Constructor Summary
Constructors Constructor Description EarliestFirstSystemMessageList(SystemMessage head)
-
Method Summary
-
-
-
Constructor Detail
-
EarliestFirstSystemMessageList
public EarliestFirstSystemMessageList(SystemMessage head)
-
-
Method Detail
-
isEmpty$extension
public static final boolean isEmpty$extension(EarliestFirstSystemMessageList $this)
-
nonEmpty$extension
public static final boolean nonEmpty$extension(EarliestFirstSystemMessageList $this)
-
size$extension
public static final int size$extension(EarliestFirstSystemMessageList $this)
-
tail$extension
public static final EarliestFirstSystemMessageList tail$extension(EarliestFirstSystemMessageList $this)
-
reverse$extension
public static final LatestFirstSystemMessageList reverse$extension(EarliestFirstSystemMessageList $this)
-
$colon$colon$extension
public static final EarliestFirstSystemMessageList $colon$colon$extension(EarliestFirstSystemMessageList $this, SystemMessage msg)
-
reversePrepend$extension
public static final EarliestFirstSystemMessageList reversePrepend$extension(EarliestFirstSystemMessageList $this, LatestFirstSystemMessageList other)
-
reverse_$colon$colon$colon$extension
public static final EarliestFirstSystemMessageList reverse_$colon$colon$colon$extension(EarliestFirstSystemMessageList $this, LatestFirstSystemMessageList other)
-
hashCode$extension
public static final int hashCode$extension(EarliestFirstSystemMessageList $this)
-
equals$extension
public static final boolean equals$extension(EarliestFirstSystemMessageList $this, java.lang.Object x$1)
-
head
public SystemMessage head()
-
isEmpty
public final boolean isEmpty()
Indicates if the list is empty or not. This operation has constant cost.
-
nonEmpty
public final boolean nonEmpty()
Indicates if the list has at least one element or not. This operation has constant cost.
-
size
public final int size()
Indicates if the list is empty or not. This operation has constant cost.
-
tail
public final EarliestFirstSystemMessageList tail()
Gives back the list containing all the elements except the first. This operation has constant cost.*Warning:* as the underlying list nodes (the
SystemMessage
instances) are mutable, care should be taken when passing the tail to other methods.SystemMessage.unlink()
should be called on the head if one wants to detach the tail permanently.
-
reverse
public final LatestFirstSystemMessageList reverse()
Reverses the list. This operation mutates the underlying list. The cost of the call to reverse is linear in the number of elements.The type of the returned list is of the opposite order:
LatestFirstSystemMessageList
-
$colon$colon
public final EarliestFirstSystemMessageList $colon$colon(SystemMessage msg)
Attaches a message to the current head of the list. This operation has constant cost.
-
reversePrepend
public final EarliestFirstSystemMessageList reversePrepend(LatestFirstSystemMessageList other)
Prepends a list in a reversed order to the head of this list. The prepended list will be reversed during the process.Example: (3, 4, 5) reversePrepend (2, 1, 0) == (0, 1, 2, 3, 4, 5)
The cost of this operation is linear in the size of the list that is to be prepended.
-
reverse_$colon$colon$colon
public final EarliestFirstSystemMessageList reverse_$colon$colon$colon(LatestFirstSystemMessageList other)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Overrides:
equals
in classjava.lang.Object
-
-