vitalreactor/probe — pull request #4 by djjolicoeur (2014-04-05 04:48:00+00:00)
Title: Data de-duplication

This is a first pass at solving the data duplication issue with sending multiple copies of the same state to the same sink from different subscribers.

Major changes:
* subscribe API -- Still looking in to making this a little more polished, but for now I changed changed the fn to take 2 args, selector and sink as well as three optional keyword args `:transform`, `:filter`, and `:sample-freq`. In addition, all subscriptions will use core.async/chan rather than using the optional map> and filter> channel abstractions as they are no longer needed.

* Routing -- transforms, filters, and samples will be evaluated via the async routing channel, allowing us to compare values per sink and eliminate duplicates bound for the same sink in a non-blocking manner.

suggestions welcome.