No changes yet.
beta1
has breaking public API changes.
clojurewerkz.eep.emitter/create
no longer uses pseudo-kwargs. So, instead of
(require '[clojurewerkz.eep.emitter :as eem])
(let [me (eem/create :dispatcher-type rtype :env env)]
)
use the function like so
(require '[clojurewerkz.eep.emitter :as eem])
(let [me (eem/create {:dispatcher-type rtype :env env})]
)
EEP now depends on org.clojure/clojure
version 1.6.0
. It is
still compatible with Clojure 1.4 and if your project.clj
depends on
a different version, it will be used, but 1.6 is the default now.
build-topology
had a bug that caused emitter given in the form of (create)
to be
re-evaluated each time the topology was updated. The bug does not affect codebases
that use a single emitter instance bound to an existing var.
Usually an emitter is stored in a var, but if you use a threading
macro such as ->
to build topologies, add-handler
failed because
it returned a caching registry. Thew new version returns the emitter,
allowing for threading macros to work.
Because splitters only receives a function that's responsible for the routing, it's impossible for EEP to know where the events are routed after split. You can define a splitter with an array of all possible splits to make data flow visualisation possible.
For exmaple, following splitter will split events to even and odd ones. Along with
splitter function, pass an vector of [:even :odd]
so that visualiser would catch it.
(defsplitter *emitter* :entrypoint (fn [i] (if (even? i) :even :odd)) [:even :odd])
Meltown alpha3 is a release with minor API additions.
RingBuffer operates in it's own pool, adding notifications blocks RingBuffer's yielding,
therefore notify
function block forever.
EEP now has realistic throughput tests that verify that the issue is gone.
It is now possible to pass backing Dispatcher for reactor that's handling routing for the Emitter and an environment.
Previously, timed window would keep emitting tuples to dead processing graph. Now you can take control of your timer and stop timer together with emitter.
Meltown alpha3 is a release with minor bugfixes
Initial release