b9f8687 Troubleshooting ZeroMQ Context termination, which randomly hangs on CI servers
758e09e Add timeouts to ZeroMQ TCP tests
47eb1f2 Added a test to ensure values that pass a Predicate in a Stream.filter expression are not passed to the else Composable.
79a5f55 Simplifying TCP interaction tests
3cbaf0b Increase timeout for CI servers
66465bd Fixes #225 Moves the flush call into the event loop by adding a special handler just for doing writes. Now we write a Tuple of the data and a boolean of whether to do autoflush or not. The NetChannel.flush() is not implemented by writing a Tuple of `null` and `true` to force a flush.
dba6efd Fix a failing test.
66d4980 Change the way mapMany handles flushing. Add a test to make sure that data from returned Promises can be captured.
de98461 Add a more meaningful toString impl.
877da53 Lazily init HashWheelTimer since early instantiation at Environment init time leads to problems in STS where the object is reflectively instantiated but never cleaned up.
d769f89 Troubleshooting random TCP errors that only seem to happen on build servers
bc92ae6 Troubleshooting a strange error that only happens on build servers
48bc2c2 Use explicit localhost IP rather than hostname
be53c02 Trying to track down a not-reproducible error.
aa7235e Create a dummy method for the AsyncAppenderTests
4fdc9b3 Using 127.0.0.1 instead of the string "localhost" since it apparently means different things on different CI servers.
b019861 Turn off logback appender loadtests.
e6c5228 Tweaking ZeroMQ tests to work in different CI environments.
6aa0381 Revert a previous change that returned a Boolean from the Promise returned when writing data to a channel. After some discussion, it became clear that this is a suboptimal interaction and that it would be better to either complete the Promise with null, which means success, or complete the Promise with an exception, which signals an error. This means in the ZeroMQ support an exception has to be created since it only returns true/false to indicate a success or failure on write.
b395beb Update ZeroMQ support to provide inproc handling. Currently ZeroMQ support is broken as I try and find a reasonable way to get the shutdown/destroy/close to work without hanging. That's a very temporary situation however. I'm just pushing this now so I can link to it when I ask the experts how to fix it. :)
7c2b206 Fix a compile error
482d9bf Turn off serial warnings
197e280 Reorganize ZeroMQ support source code. Add abstract test class and ZeroMQ helper for creating servers and clients.
0aa0f75 Merge branch 'master' of github.com:reactor/reactor
5008fc0 Default the TcpClient InetSocketAddress to accommodate using ZeroMQ style URI strings which are configured separately.
0df7384 Merge pull request #325 from michaelklishin/issue323-set-selector
4c738a6 SetSelector => SetMembershipSelector
409eb67 Introduce Selectors#setMembership
7c31aee Javadoc for SetSelector
070bf13 Introduce a selector that matches on set membership
6bc44c6 Tweaks to ZeroMQ support, start refactoring net tests to be more clean and reusable.
5ff81eb Add Kryo to net tests.
00fd6e2 Add options accessors.
2a5e4c5 Add Iterable to NetClient and NetServer for accessing all connected channels
e37d818 Fixes an issue with Buffer calling putInt on the underlying ByteBuffer when it should have called putShort.
db55cf3 Merge pull request #322 from reactor/enhancement-247-zeromq
199ae4c Fixes #247 Adds ZeroMQ client and server support.
7e24333 Fixes a bug to pass true instead of null to onClose handler
908f59b #247 Add getOptions() to TcpClient
1d3469e When executing arbitrary Runnable tasks, the run() method wasn't actually being invoked inside the proper execution thread. This fixes that and adds a test to verify.
b853f72 Open Event.Headers to any Object not restrict it to String,String
83f0b80 Tweak the signature of sendAndReceive to allow for an Event type for a reply that's different than that for a request.
76e5abf Merge pull request #318 from oiavorskyi/fix-get-dispatcher-exception
2f9925f Fix for uninformative exception being thrown when no dispatcher is registered with particular name. Previously internal exception from AbstractFilter was propagated to clients making identifying of issue quite complicated.
6e0f292 Switch to using channelInactive to detect a channel close event.
c9d5b22 Arg. Generics and 1.6 vs 1.7. :P
baa583f Make sure the previous chane is thread-safe.
31b1dbc Add reference indirection and a removal of the registration from the internal list. Before it was only be removed from the cache when cancelled and not also the main list of registrations.
52b993a Move mavenCentral() to the top of the repository list in the build.
cb6236a Add a toString() on Event.Headers
c8c099b Add a cancelAfterUse() call on connection reconnect.
92b1729 Change SingleUseConsumer to use CAS operations instead of a synchronized block that was insufficient to prevent a race condition when multiple threads publish values at the same time.
cdb586c Add a method to Promises to provide a single-use style Consumer by attaching a special Consumer that fulfills a Promise when the given Composable publishes the next value.
2a9ea03 Update gradle wrapper.
948969d Fixes #317 Changes NetChannel.close() return to Promise<Boolean>
9252ad8 Minor tweak.
35cee23 Only attempt log file cleanup if the directory exists. Otherwise an error occurs.
b9bcf29 Merge pull request #316 from reactor/fix-306-processor-as-async
c31187f Add a little javadoc.
1450e8b Use Processor as async single-writer.
0087c54 #306 Added log file deletion to beginning of test.
57f6575 #306 Addresses issues with the AsyncAppender by re-implementing the underlying components.
73eed61 Merge pull request #315 from reactor/better-tcpclient-reconnect
8e02ee2 Tweaks to the way connections are opened and closed and how events are scheduled on the Reactor when those happen.
909748b Normalize code formatting.
8895fd1 Formatting tweaks and change to how close handlers are scheduled.
700ace7 Formatting tweaks.
08133e0 Force creation of a new Reactor on each new channel creation to ensure that consumers don't cause back references to hold onto dead channels and prevent their being GC'd.
5941958 Integrated fixes from an issue with reactor-tcp-1.0.0.RELEASE that would leak connections if the connection got unexpectedly dropped and the cleanup/deregistration code didn't get a chance to run. The reconnection code has been rewritten to not rely on the connection registry but to use the reference embedded in the Netty ChannelInboundHandler which should render the references to that connection object unreachable when the channel itself goes out of scope.
417dd2c Increase timeouts.
2a94b9c switch back Reactor schedule extension
a5b21bd Merge pull request #314 from reactor/enhancement-NoDefaultSelector-in-reactor
c16c088 Fix leaked change from NoDefaultSelector branch
827fd11 Remove default Selector and refactor Reactor.schedule to avoid needless allocation for a new Reactor (not optimum for flatMap / iterative Reactor creation)
b453569 Fix race conditions on flush actions
aca0a4f fix imports
f65b976 Tweak the README to reflect recents tests using JMH benchmarks and the latest changes to CachingRegistry
daecb8e Tweak CachingRegistry to provide a copy for iterators.
07d5258 Ignore a test failure for the time being.
386181f Merge pull request #313 from reactor/enhancement-consumer-registry
1d1a7f5 Rewrite CachingRegistry to use the gs-collections rich collections library. Addresses #297 by adding a configuration knob for setting a "consumer not found" handler if no consumers were found for a given notification key.
34c2409 Tweaks to event router implementations to get maximum efficiency.
5020a48 Tweaks to ForEach action to use gs-collections for iteration, removed unused CTOR parameter.
2e26b37 Add gs-collections rich collections library as a compile dependency.
01dde04 Fixes #309 by merging PR #310. Adds a WaitStrategy configuration option.
683ffd6 [processor] configure Disruptor's wait strategy #309
fc48992 Update to Groovy version 2.2.2 which also meant having to tweak a couple constructor signatures since there seems to be a problem with 2.2.2 recognizing CTOR params if they use generics. Took off the generic part of the parameter and it works.
135b04e Merging PR #307 Breaks out Groovy extensions into their own submodule so they can be compile separately (and first) to ensure they're available to other submodules. IDEA seems to have issues with them if this is not done in this order.
fb7f075 Broke down reactor-groovy module to two separate ones so Intellij Idea could compile them. Issue was due to usage of extensions from same module. Added configuration to ide.gradle to add optional libs into Idea Provided scope making compilation from Idea possible.
4137687 Merge pull request #305 from michaelklishin/master
16f1009 Add Selectors.matchAll
80feeaa Introduce MatchAllSelector, fixes #303
a44cfdb Changed the NetServer start() and shutdown() methods to use a Promise<Boolean> rather than Promise<Void> so it's easier to distinguish between a timeout, which will return null, and a success, which will return true (otherwise the Promise will be in error and get() will throw an exception).
71b88ea Add UDP server helper.
26e587d Reorganize the NetServer specs so they share a common ancestry which makes it easier to configure from things like Spring where you're dealing with NetServer as an abstraction. Without this common ancestry, you have to create blocks of code that duplicate functionality of one or the other.
04d13dc Merge pull request #300 from dharrigan/master
676dc39 IncludeCallerData so that, for example, line numbers are passed along whenever a logging event occurs. To use, ensure that in your logback configuration you have something similar to:
f067f45 Merge pull request #299 from reactor/enhancement-298-remoteAddress
97592fb Fixes #298 Per request by @pidster reinstate the `remoteAddress()` function on `NetChannel`. Also added a test to ensure the information is populated.
e188491 Remove reactor-benchmark and reactor-spring as that functionality has be moved into other artifacts.
bb588a1 Clear compiler warnings.
b575720 Merge pull request #292 from michaelklishin/patch-1
4a98f75 Merge pull request #293 from michaelklishin/patch-2
417a6af Fix a typo
cd3966a Update README.md
21f3de9 Merge branch 'master' of github.com:reactor/reactor
44149c0 Fine grained error/flush cascading, mapMany cascade flushes to join on, enhance action utils to display flushable actions.
d81351b Add Stream#counter(Stream<Long>> to count values until flush and feed the argument stream with each counter
a1c53f0 #287 Ignore multicast tests because they are finicky on different systems.
75fc031 #287 Refactored TCP support to use common abstractions called "NetXXX" and added UDP support.
39c084d Merge pull request #291 from reactor/enhancement-284-merge-and-composable-fixes
7428707 fix #284 add Composable#merge to connect N composable to the current pipeline explicit consume name from consume(Composable) to connectValues(Composable)  : values forwarded; to be inline with connect(Composable) : error and values forwarded. Add a promise.mapMany test Promote consumeFlush to Pipeline Fix promise flush cascading Remove Flushable generic type constraint
262f7ce Merge pull request #289 from reactor/enhancement-288-composable-timeout
93b195b fix #288 fix mapMany on groovy extention Change collectWithTimeout() to collect().timeout() "Various actions could benefit from a timeout, in fact even Promises will be interested in such action. A timeout action  triggers a parent flush (or itself if root), releasing any Flushable action (buffer, collect, propagate, reduce, window...).  Eventually, competing events from timeout flush and natural flush can be filtered out with a distinct() method to remove duplicate noise."
ceb756f try to fix timed window tests by allocating an additional 200ms to sleeps (!) for the possible inconsistency of the time (hashwheeltimer) event loop period
430117d complete promise signatures
bf322d5 add Test, fix new filter() signature
5307e75 few 	 * @since 1.1 add simple form filter() that evaluates incoming Boolean
a935dc5 Added CHANGELOG.
1a7f414 Formatting changes while code reviewing.
7be7d0a remove EventBatcher since Stream.defer().batchSize(123).get().flushWhen{ predicate }.consumeFlush{ do stuff once }.consume{ do for each data }
beeb805 Re align test with previous scenario to compare (1 reduce vs N reduce) Add Stream#reduce(function, supplier, batchSize) to arbitrarely select the batch size for a reduce
ef78622 update gadle wrapper, update developers list
269e3b6 is this the end ?
8825f15 move things around to fix package tangles
01ab73e move things around to fix package tangles
9cdf78a Makes sure Stream#bufferConsumer listens for flush
87f34ae Merge pull request #286 from reactor/enhancement-27-batchNotify
ea8c2dd fix test
4ad12ad Merge branch 'refs/heads/master' into enhancement-27-batchNotify
bfa2ec0 100% test coverage for Stream Add Flushable interface for propagating flushes callbacks All stateful actions (reduce, collect, buffer, ..) are now Flushable Add collectWithTimeout, a size and time bound collection Add FlushableAction to consume flushes Add SupplyAction to notify an observable with a supplied value Add StreamSpec#generate(Supplier) to generate values on flush Add Stream#whenFlush(Predicate) to flush the Stream if predicate matches Add Composable#consumeFlush(Flushable) callback Cascade Composable Flush (listens for parent flush) Add Deferred#batcher(batchSize) to arbitrary produce batching windows from any Stream  Remove Stream#BufferStream (replaced by deferred#batcher)  Remove Stream#batchSize constraints on collect, reduce, buffer since flush can drain unbounded batches  Split Stream#reduce and Stream#scan  Add Stream#bufferWithErrors to collect errors in addition to values, aimed to be used by services dynamically creating Stream -  Add Stream#collectWithTimeout to collect up to a timeout limit in millisecond  Add Stream#propagate to pass the argument values (supplier or iterable) into downstream sink on flush
936feae Tweaks to RingBufferAllocator batch allocation.
ff1abf8 Add resolution getter to Timers.
cd6d4d5 Upgrade TaskExecutor implementations to also implement ScheduledExecutorService for us as a Spring Integration TaskScheduler, which requires greater scheduling flexibility than just an Executor.
b96e788 #279 Drop the default backlog values to 2048.
9aa1ddf Fixes #281 Uses a nullSafeHashCode() function to accommodate null values in a Tuple.
96b4485 Tweaks to suppress compiler warnings.
53c0dcf This commit adds a Timer interface implemented by HashWheelTimer
8fe53ea Put back List type and merge master
3eb3834 Merge branch 'master' into enhancement-27-batchNotify
4aa65a8 Move HashWheelTimer to its own package and extract a common interface.
c67f3c3 Add serialVersionUID
1c487f7 #273 Adds support for Spring AsyncTaskExecutors based on the RingBuffer and WorkQueue dispatcher implementations.
e20a13a #273 Added ProducerType and WaitStrategy to the WorkQueueDispatcher config.
7fe41dd Fix NettyEventLoopDispatcher to match new Dispatcher signature.
866ed11 Fix bone-headed mistake. This is not the commit you are looking for. Move along.
202fb14 Fix bone-headed mistake. This is not the commit you are looking for. Move along.
6156722 Tweak to RingBufferDispatcher creation
3d57475 Add throughput tests for Executor.execute methods on Dispatchers, drop values to reasonable settings so that low-powered CI servers don't choke on the build.
a0a7987 Make Dispatcher extend Executor to turn each Dispatcher implementation into an Executor that can run arbitrary Runnable tasks.
016a8f0 Bump up the default backlog values.
619c092 try another package tangle luck
4a249d6 Fix mapMany groovy Fix extension list Groovy Try to fix package Tangle
929e513 all tests pass!
b098f55 Deprecate EventLoopDispatcher Fix test Do not pool tasks for MultiThreadDispatcher (WorkQueue naturally pools from RingBuffer)
1e83941 change test to scope WorkQueueDispatcher
0d85709 Lock free multi thread dispatcher based on consistent hash routing
68f0e21 Fix PropertiesConfig tests
e3f3922 #271 Had to re-write the Dispatchers to not use the built-in Allocator implementations for the time being. The section of code covered by the Dispatchers is so critical to performance that there's virtually no leeway for errors or locking. We should take a look at how much garbage is created by the LinkedTransferQueue and replace that component in the multi-threaded Dispatchers.
4555301 fix DispatcherSpec
c522328 Fixed tests!!!!
fc7f023 try to fix event loop logic
5389ae0 fixed EventLoopDispatcher test
52a2278 fix test
010535f #271 Pushing the latest changes to attempt to fix the test inconsistency problem.
a50e19c Merge branch 'refs/heads/master' into fix-271-recursive-dispatching
fe936dc #271 Trying to troubleshoot odd dispatching problems that cause inconsistent test results.
98a8a63 Improve test output to check against expected total result and verify that all events have been correctly dispatched
a18ad25 Move TimeUtils in a dedicated package reactor.timer for package tangles.
c79854c Move HashWheelTimer in a dedicated package reactor.timer for package tangles.
e085bee Fix a generics problem
37c8864 Merge pull request #269 from ifesdjeen/enchancement-232-event-factory
e53879c Since a new version of HashWheelTimer is coming, comment this test out for the time being.
e4d2541 Add Event Allocator
37d9a38 Fix a failing test.
085ba6a Trying to fix package tangle.
ac12f6a Troubleshooting odd test failure that only occurs on drone.io CI server.
4e8ea69 Playing an utterly pointless game of musical chairs to make Sonar happy.
d120da2 Added serialVersionUID to TupleNs.
31a49e8 Added serialVersionUID to Tuple.
c88a273 Trying to fix a package tangle with the timer utils.
13fb9f9 Reduce the number of tests for throughput testing so it doesn't fail on slower servers like CI servers.
8d60b94 Merge pull request #267 from reactor/enhancement-232-allocator-recycler
e68ee25 Update javadoc.
d4fa5e0 Tweak throughput tests.
bcd7b9b Be more specific on the maximum throughput verbiage.
09707ed Remove the ReentrantLock and use a simplified synchronized block for updating the BitSet.
c2845a8 Raise the backlog value for the EventLoopDispatcher throughput test. Turns out it doesn't really make that much difference.
7ecb396 #232 Tweaking object allocation. Renamed FactoryAllocator to BatchFactorySupplier since it doesn't implement the Allocator interface. Left it in the alloc package since it has to do functionally with allocation.
998d32a #232 Added FactoryAllocator for amortizing the cost of object creation by doing batch creations of objects and then doling those out one at a time until exhausted, at which point the pool is refilled, blocking the calling thread.
10507a8 Tweak to fix failing test.
1c5e55e Formatting tweaks.
d272c7e #232 Fixes for allocator and dispatcher implementations built on top.
adcf6e3 Add Serializable to Tuple
5dc0a4c #232 Integrated Allocator into the Dispatchers.
73d6eb1 #232 Adds generic object pooling based on reference counting.
e04a351 Merge pull request #263 from reactor/enhancement-261-common-serializers
340e8ae Added support for compression of data using either GZIP or Snappy.
cd7bf25 Added support for Kryo, Protocol Buffers, and Jackson JSON support based around a shared SerializationCodec.
5e15e94 Merge pull request #255 from reactor/enhancement-254-fixed-streams
f7aa846 fix #254 Refactor Streams.defer(value) and Streams.defer(values) to returned a Stream rather than a Deferred, thus preventing fixed streams to be confused with Streams.defer()
816f66f Merge pull request #252 from head-thrash/master
92bf619 This presumably fixes Issue #248
6575358 Merge pull request #251 from head-thrash/master
65e2b5c Adds tests for Tcp Client and Tcp Server interactions:
04af84c The exposesNettyByteBuf() test must use a SynchronousDispatcher since we're reading from the Netty ByteBuf directly. That must take place in Netty's IO event loop thread and not in some other thread, which causes random failures due to doing out-of-band IO in reading from Netty's buffer.
f2475d4 Minor typo fix.
76e193d #239 #248 Hopefully fixes the BufferOverflowException by growing the internal ByteBuffer by lengthFieldLength.
2eeefea Merge pull request #246 from reactor/enhancement-241-error-handlers
f6e30f9 Merge pull request #221 from kctang/master
4f488d8 Minor test fix and Groovy version upgrade to 2.2.1
0fd25f1 #241 #245 Adds a couple of constructor parameters to Reactor and a couple of methods to EventRoutingComponentSpec for specifying two types of error handlers and the Selector to be used as a default.
aaf350d #241 The default exception handler should always be registered no matter the logging level.
f602f44 Fixes #242 by notifying the Reactor on the class of the Exception rather than on the exception instance itself.
e835e28 Merge pull request #240 from mingfai/master
63107b3 Added a constructor with UncaughtExceptionHandler argument
b67217d Added a ThreadPoolExecutorDispatcher constructor with Executor argument
0a3001e Increase test timeout.
b5ee68b Some doc on CachingRegistry
d39bc0d Fix Prime Cache to target key Object and AnonymousKey instead of ObjectSelector selector
4b44881 Fix Supplier exception handling
285c908 Merge master and fix supplier dispatching on Promise
4a1f845 fix test
7d8d1ce fix tests and Dispatcher tail recursion issue
afc2854 Remove @Before in ComposableThroughputTests as unused
bd48fac Pick fixes for minor dispatcher issues from batchNotify branch
290d3c7 Merge master and fix minor dispatcher issues
53b9b48 Merge master and fix minor dispatcher issues
2d98464 Fix #237 by adding a dedicated primeCache and update tests Minor compilation warning fix
6a20bf1 Add batchNotify on Observable - ensure that 1 selection happens for a given iterable group of event. Events will be dispatched once and preselected consumers will be invoked. Add Composable.buffer to expose batchNotify (grouping events for a single dispatching) Rename Composable split() to batch() and update ForEachAction to use batchNotify Minor improvements over ArgumentConsumer that only takes 1 argument Minor improvements over ActionUtils to browse a buffered stream Use a Stream subclass when pre-filled values or batchSize set and use an internal BufferAction to  batchNotify() operations Added a buffered test in ComposableThroughputTests Only invoke CompleteConsumer once. Remove flush selector and update flush methods to work as expected (BufferStream will batchNotify and Promise will run asynchronously the supplier)
7b61078 Merge pull request #230 from reactor/optimized-registry
f8604d8 Anonymous Selector doesn't need tuple2 Remove Selector anonymous constructor (prefer $()) Micro fixes
5a24b07 minor fix
fe901b4 Fix #228
4091f0c Merge pull request #229 from reactor/optimized-registry
c376c97 Fix TCP tests and reorder unregister connection
c40e7b1 Fix implementation for Spring module
d25aae1 Add registry#clear and fix TcpConnection#Close
bc53d3e add test for ObjectSelector cacheMiss (test if prime caching is functional)
fc98664 add test for cacheMiss on non 'direct' selector which are prime cached
5ba9ed7 comment irrelevant test
66fa5d4 revert excessive field delete
f977443 put back Lifecycle interface checking
0e284c4 FIx a bug in cache priming for ObjectSelector objects.
e897e44 Update to use AtomicIntegerFieldUpdater and volatile fields for less overhead
105557d fix import
54678fc Fix failing tests.
64049a7 #222 Fixes problems with excessive GC by re-implementing the CachingRegistry. Now uses arrays as much as possible and is an overall simpler design internally. Cancel no longer removes a Registration from the list. Instead a Registration is aware of it's cancelled status so refuses to match against any keys and returns null for an object when cancelled, rendering the Registration invisible. The cancelled Registration object is reclaimed when the array grows to accommodate new Registration objects and copies over any Registrations that aren't cancelled.
061ef65 Merge pull request #227 from ifesdjeen/feature/op/sliding-window
dfc6dfe Add for the Moving Window
829ccaf Add docstrings
12b6182 Rename Sliding Window to Moving Window
7a23320 Add an implementation of Sliding Window
cdcafc8 Cover map many throughput
4aa92e2 No need to do getObject on simple ObjectSelector
41449cd remove selector uuid
fbc23eb avoid double allocation for anonymous selector, remove useless tags field
c992510 avoid double allocation for anonymous selector, remove useless tags field
7bba671 Fixed window Test
cb327af Merge pull request #226 from reactor/staging-improvements-composable
ca9b8e3 Remove reference to deleted control() method.
5cd226e revert Composable pause/cancel/resume on this branch and related control methods
3aba1f5 new WindowAction on Stream, new Lifecycle defines pause, resume, cancel Registration, Composable and WindowAction now implement Lifecycle Stream now accept an environment to be used by some action (e.g. window for its timer)
2ff2f2f Remove Linkable as non used anymore and confusing
780bdac Add control(Observable) to Reactor Add pause/resume to Stream Add cancel to Composable Fix UriSelector matching Delete Linkable from Reactor
c194b6c Change Tuple to internally use an Object array rather than a List to get around CPU time spent when Tuples are created in large quantities like in throughput tests.
9e65671 Tweaked Selectors.uri() to try and be smart about what kind of Selector instance to return. Previously, only a UriPathSelector was returned. Now the String is checked to see if it starts with a URI path slash '/'. If it does, then that means you want a UriPathSelector and the URI templating works as previously described. If the URI doesn't start with a '/' then that means you want a full UriSelector which doesn't do placeholder replacement like the UriPathSelector but explodes a URI and matches on the elements of the URI (or a wildcard for host or path).
2661138 Renamed UriTemplateSelector to UriPathSelector to more accurately reflect its use. Also added UriSelector which is intended to match URIs. It will do exact match on scheme, userInfo, host, port, path, and fragment or it will accept a wildcard '*' for host and '/*' for path. The wildcard splat is invalid in the scheme, so it must be an exact match.
2a90008 Remove unused tap.
2acd984 Refactor Actions to reactor.core.action package. Rename flatMap method to mapMany to more accurately reflect what it's purpose is.
e9d5970 remove unused batch(), fix issue with negative backlog in SingleThreadDispatcher
25f350b Remove unused consumer Add spec builder for ActorDispatcher
2b2bfb3 Remove batch() as not really needed
8428704 fix netty tcp dispatcher to adapt to the new ordering
7185c90 Increase the sample length back
6bc7919 fix ThreadPool dispatching Rename BaseDispatcher to SingleThreadDispatcher and promote BaseLifecycleDispatcher as the root Dispatcher
9a46bf1 Comment ThreadPool test and minor import fix
e2f3a4b Fix Recursive Dispatching by lazy executing any notify in context. Context is defined per BaseDispatcher with its unique ClassLoader assigned to the consumer thread. In others terms, ring buffer and event loop now implement tail recursion. Synchronous Dispatcher is still blocking on notify. ThreadPoolExecutorDispatcher needs rework. Performances are nearly on par with the previous version and the new design solves dead lock issues. The stack now remains constant (Lazy execution at the dispatcher root). ActorDispatcher is a new Dispatcher type that allows concurrent recursive notification by assigning a unique Dispatcher per Event Key. Combined with EventLoop pool from environment, we act like multi-actor systems.
95542ff Fix Recursive dispatching, tail recurse any notify within context Add a new dispatcher type "ActorDispatcher"
f932d29 first and last can accept explicit batchSize
691c6fd Change Composable Spec to accept observable, add Streams.on
d80ffda Add optional OSGi dependencies for reactor-core (fix reactor/reactor#219) & add slf4j-api 1.5.4 compatibility (fix reactor/reactor#220).
6d70713 Remove interface, rename operation to Action
7e7ce7c Merge remote-tracking branch 'remotes/origin/master' into improve-stream-promise
423a58d Merge branch 'move-codec'
c1f28a1 Refactor the Codec classes from reactor-tcp to reactor-core.
e2150ab Remove the unnecessary Afterburner Jackson module.
c974a87 Merge remote-tracking branch 'origin/direct-bytebuf'
bc7cc36 Bump gradle version to 1.9 and build version to 1.1.0.BUILD-SNAPSHOT
e39f51f Fixes #217. The NettyTcpConnection was being created by always passing `null` as the `listenAddress` by omitting that CTOR argument. This fix adds a reference to that object to the creation of a connection.
04ac97f Merge pull request #218 from ifesdjeen/feature/op/tuple-hash
1785beb Add  and  to Tuples
c30471a Fix TCP test, rename ForwardOperation to ConnectOperation, Add debugging output for FilterOperation, fix issue in ReactorBuilder
6e0e922 Fix Perf Tests
99c72a8 Fix Promise Tests and improve OpUtils
50348ab Fix promises ctr
54b791d Add FlatMap operation, Optimize recursive flush, add abstraction for operation pipes such as Composables to implement flush and addOperation
0f9762c fix dispatcher creation and fix some doc
228653a fix new Reactor creation
0fdaaf4 Addresses PR #215 by changing the default behavior of the Netty InboundHandler to attempt to pass the Netty ByteBuf directly to the connection without first turning it into a reactor.io.Buffer.
a5481ed fix selector test
251900a fix a few tests, improve debug utils for Composable, Complete Stream functional migration
64a67fd fix a few tests, improve debug utils for Composable
0f339ce Decouple Batching Operations from Composable/Stream/Promise attempting to fix #208 and rework PR #177. Add a few utilities to render a Composable tree Work In Progress, not all tests green yet
