See: Description
| Interface | Description |
|---|---|
| ASyncObserver<P> |
An Observable that needs parrallel processing of updates.
|
| CommandFor<T> |
This interface defines the behaviour of a class implementing a Command pattern.
|
| Invoker | |
| SynchronousCommandFor<T> |
This marker interface is used to specify that implementers of the code
executing the command explicitly acknowledge that the caller is waiting for completion of the command.
|
| SynchronousObserver<P> |
An Observer that knows that its code should terminate quickly because
it is invoked in sequence by the SynchronousObservable.
|
| Class | Description |
|---|---|
| InvocationDispenser |
Typical use of this pattern is to have two threads:
one is going to write commands to a stream.
|
| ParallelCommandDispatcher<T> |
Dispatches a Command object to registered "executants" able to handle the command;
each command execution may be handled by a different Thread so every registered agent does not have to wait
for termination of code from the previous call.
|
| ParallelDispatchProxy<I> |
Instances of this class creates a dynamic proxy that parallely dispatches method call
to registered agents implementing an interface type.
|
| ParallelObservable<P> |
An Observable that notifies Observers
through an ExecutorService (that is through different threads).
|
| SynchronousCommandDispatcher<T> |
Registers codes interested in receiving commands.
|
| SynchronousDispatchProxy<I> |
Instances of this class creates a dynamic proxy that dispatches method call
to registered agents implementing an interface type.
|
| SynchronousObservable<P> |
An Observable with protocol control at compile time.
|
| Exception | Description |
|---|---|
| InvocationDispenser.TokenLostException |
Primarily there are two main concerns addressed in the codes of this package:
Now why limit notifications to a single method? We may go through different methods....
So there are two different patterns in this package to handle calls to different methods for the registered agents:
Copyright © 2015 LSST. All rights reserved.