public final class SignalDispatcher extends ActiveEventDispatcher<SignalDispatcher,Signal>
Signal
instances,
each when its respective signal is triggered. An application can provide
its own dispatcher, providing the priority for
the internal dispatching thread. This dispatching thread calls
the AsyncEvent.fire()
method on the instance of
Signal
associated with the signal each time its
signal is triggered.Constructor and Description |
---|
SignalDispatcher(SchedulingParameters scheduling)
Creates a new dispatcher, whose dispatching thread runs with the given
SchedulingParameters . |
SignalDispatcher(SchedulingParameters scheduling,
RealtimeThreadGroup group)
Creates a new dispatcher, whose dispatching thread runs with the given
SchedulingParameters . |
Modifier and Type | Method and Description |
---|---|
protected void |
activate(Signal signal)
Activate an active event registered with this
dispatcher.
|
protected void |
deactivate(Signal signal)
Deactivate an active event registered with this dispatcher.
|
protected void |
deregister(Signal signal)
Deregisters an active event from this dispatcher, breaking its
association with this dispatcher.
|
void |
destroy()
Releases all reasources thereby making the dispatcher unusable.
|
static SignalDispatcher |
getDefaultDispatcher() |
boolean |
isRegistered(Signal signal)
Test wether or not a given event is registered with this
dispatcher.
|
protected void |
register(Signal signal)
Registers an active event with this dispatcher.
|
static void |
setDefaultDispatcher(SignalDispatcher dispatcher)
Sets the system default signal dispatcher.
|
void |
trigger(int signal) |
getRealtimeThreadGroup, getScheduler, getSchedulingParameters, getThread, setScheduler, setScheduler, setSchedulingParameters
public SignalDispatcher(SchedulingParameters scheduling, RealtimeThreadGroup group)
SchedulingParameters
.scheduling
- Parameters for scheduling this dispatcher.group
- Container for this dispatcher.public SignalDispatcher(SchedulingParameters scheduling)
SchedulingParameters
.scheduling
- For scheduling this dispatcher.public static SignalDispatcher getDefaultDispatcher()
public static void setDefaultDispatcher(SignalDispatcher dispatcher)
dispatcher
- The instance to be used when no dispatcher is
provided. When null
, the signal dispatcher is set
to the original system default.public boolean isRegistered(Signal signal)
isRegistered
in class ActiveEventDispatcher<SignalDispatcher,Signal>
signal
- The event to testtrue
when event
is registered with this
dispatcher.protected void register(Signal signal) throws RegistrationException, StaticIllegalStateException
register
in class ActiveEventDispatcher<SignalDispatcher,Signal>
RegistrationException
- when event
is already
registered.StaticIllegalStateException
- when this object has been destroyed.signal
- The event to registerprotected void activate(Signal signal) throws StaticIllegalArgumentException
activate
in class ActiveEventDispatcher<SignalDispatcher,Signal>
StaticIllegalArgumentException
signal
- The event to registerprotected void deregister(Signal signal) throws DeregistrationException, StaticIllegalStateException
deregister
in class ActiveEventDispatcher<SignalDispatcher,Signal>
StaticIllegalStateException
- when this object has been
destroyedDeregistrationException
signal
- The event to deregisterprotected void deactivate(Signal signal) throws StaticIllegalArgumentException
deactivate
in class ActiveEventDispatcher<SignalDispatcher,Signal>
StaticIllegalArgumentException
- when event
is not
stopped or is null
.signal
- The event to deregisterpublic void trigger(int signal)
public void destroy() throws StaticIllegalStateException
destroy
in class ActiveEventDispatcher<SignalDispatcher,Signal>
StaticIllegalStateException
- when called on
a dispatcher that has one or more registered Signal
objects.aicas GmbH, Karlsruhe, Germany —www.aicas.com
Copyright © 2001-2024 aicas GmbH. All Rights Reserved.