org.jicarilla.plumbing |
|
Java Source File Name | Type | Comment |
Alternator.java | Interface | Distribute messages across multiple sinks, choosing which sink to send
any particular message to randomly, but weighing in the relative sink
priority. |
BarrierProcessor.java | Class | A Barrier Processor runs am enqueued message through
several stages, in its own thread, before dequeueing it.
In a diagram:
+-----------------------------------------------+
|Barrierprocessor +------------+ |
| ...................| Worker |... |
Collector.java | Interface | Combines multiple sources into a single one. |
Connector.java | Class | Sets up a connection between a source and a sink that will do nothing but
continuously move messages from source to sink. |
DefaultStage.java | Class | A basic
org.jicarilla.plumbing.Stage implementation which allows for the redirection of
exceptions to a special handler. |
Multicaster.java | Interface | Broadcasts a message to multiple sinks. |
NoopSink.java | Class | A sink which simply discards any message you send to it (similar to
/dev/null on unix systems). |
PostProcessor.java | Class | A Postprocessor runs a message through several stages before
dequeueing it. |
PreProcessor.java | Class | A Preprocessor runs a series of plumbing over a message before enqueueing it:
+-----------------------------------------+
|Preprocessor |
put() |+------+ +------+ +------+ +---------+ take()
------>|Stage1|-->|Stage2|-->|Stage3|-->| Channel |----->
|+------+ +------+ +------+ +---------+
+-----------------------------------------+
Use a Preprocessor when it does not make sense to put any kind of
(asynchronous) buffering between plumbing and it is acceptable for put() to
take a long time. |
Screener.java | Interface | Redirects received messages to other sinks based on a selection algoritm
that is determined by the set of selectors provided for each of the
targettable sinks. |
SimpleAlternator.java | Class | A list-backed
org.jicarilla.plumbing.Alternator which uses the priority as a weight. |
SimpleCollector.java | Class | A collector which tries to gather messages from a random subset of its
sources (the subset is of fixed size though). |
SimpleMulticaster.java | Class | A
Multicaster which clones
Cloneable messages before sending
them to all its sinks, but makes no attempt to do so for objects that do not
implement Cloneable. |
SimpleScreener.java | Class | A screener which tries sinks in the order they were added, or falls back on
the sink that was added last when none of the sinks will accept a message. |
SimpleSink.java | Class | A basic
Sink implementation backed by a
Puttable . |
SimpleSource.java | Class | A basic
Source implementation backed by a
Takable . |
SimpleStage.java | Class | A basic implementation of a
org.jicarilla.plumbing.Stage backed by a
Channel . |
Sink.java | Interface | Models an entity which is capable of receiving messages. |
Source.java | Interface | Models an entity which is capable of generating messages. |
Stage.java | Interface | Models an entity which is capable of both sending and receiving messages. |