Receivers in the Ptides domain use a timed queue to sort events in
Tokens are stored in the receiver as a pair of token and tag, to help
methods such as hasToken() to indicate whether there is a token of the
requested tag. This receiver is needed because events can be processed
out of timestamp order, thus tokens are transmitted between actors out
of timestamp order. Some of this code is copied from PtidesReceiver written
by Patricia Derler, since we want to have a sorted list of events at each
receiver. However we still want to extend DEReceiver so that the structure
is uniform in that PtidesBasicDirector extends DEDirector, and PtidesBasicReceiver
Wrap the token in an DETokenEvent and post the trigger event to the director.
The director will be responsible to dequeue the trigger event at the
correct timestamp and microstep and invoke the corresponding actor whose
input port contains this receiver. This receiver may contain more than
Return the director that created this receiver. If this receiver is an
inside receiver of an output port of an opaque composite actor, then the
director will be the local director of the container of its port.
Otherwise, it's the executive director of the container of its port.Note
that the director returned is guaranteed to be non-null. This method is
read synchronized on the workspace.
An instance of DEDirector.
IllegalActionException - If there is no container port, or if the port has no
container actor, or if the actor has no director, or if
the director is not an instance of DEDirector.