Return a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object:
this < that => <0
this == that => 0
this > that => >0
This method may also be accessed via the <
<=
<=>
>=
and >
shortcut operators. If not overridden the default
implementation compares the toStr
representations. Also see docLang.
Examples:
3.compare(8) => -1
8.compare(3) => 1
8.compare(8) => 0
3 <=> 8 => -1 // shortcut for 3.compare(8)
Compare this object to the specified for equality. This
method may be accessed via the == and != shortcut operators.
If not overridden the default implementation compares for
reference equality using the === operator. If this method
is overridden, then hash() must also be overridden such that
any two objects which return true for equals() must return
the same value for hash(). This method must accept null
and
return false.
Return a unique hashcode for this object. If a class overrides hash() then it must ensure if equals() returns true for any two objects then they have same hash code.
Return true if this pool has been stopped or killed and all its actors have completed processing. If this pool was stopped then true indicates that all pending messages in the queues before the stop have been fully processed. If this pool was killed, then this method returns true once all actors have exited their thread. See join to block until done.
Wait for this pool's actors to fully terminate or until the given timeout occurs. A null timeout blocks forever. If this method times out, then TimeoutErr is thrown. Throw Err if the pool is not stopped. Return this.
Optional
timeout: DurationPerform an unorderly shutdown. Any pending messages which have not started processing are cancelled. Actors which are currently processing a message will be interrupted. See stop to perform an orderly shutdown. If the pool has already been killed, then do nothing.
Max number of messages that may be queued by actors in this
pool. Once this limit is reached, any messages sent are
immediately rejected and their future will raise QueueOverflowErr.
This limit only applies to messages sent via send
and sendWhenDone
.
No limit checking is applied to sendLater
.
Max number of threads which are used by this pool for concurrent actor execution. This value must be at least one or greater.
Name to use for the pool and associated threads.
Perform an orderly shutdown. Once stopped, no new messages
may be sent to this pool's actors. However, any pending
messages will be processed. Note that scheduled messages
are not guaranteed to be processed, only those delivered
with Actor.send
.
Use join to wait for all actors to complete their message queue. To perform an immediate shutdown use kill. If the pool has already been stopped, then do nothing. Return this.
Get an immutable representation of this instance or throw NotImmutableErr if this object cannot be represented as an immutable:
Return a string representation of this object.
Trap a dynamic call for handling. Dynamic calls are invoked with the -> shortcut operator:
a->x a.trap("x", null)
a->x() a.trap("x", null)
a->x = b a.trap("x", [b])
a->x(b) a.trap("x", [b])
a->x(b, c) a.trap("x", [b, c])
The default implementation provided by Obj attempts to use reflection. If name maps to a method, it is invoked with the specified arguments. If name maps to a field and args.size is zero, get the field. If name maps to a field and args.size is one, set the field and return args[0]. Otherwise throw UnknownSlotErr.
This method called whenever an it-block is applied to an
object. The default implementation calls the function with this
,
and then returns this
.
Static
echoWrite x.toStr
to standard output followed by newline. If x
is null then print "null". If no argument is provided then
print an empty line.
Optional
x: JsObjStatic
make
Controller for a group of actors which manages their execution using pooled thread resources.
See docLang::Actors