=============================================================================
HawtDispatch 1.19, released 2014-01-23
- You can now configure the what cypher suites are enabled on a SSLTransport via the enabledCypherSuites property
- add gradle build script
- Fix range check on timeout, as it always evaluated to true
- Fixing bugs where the read/write rate limiting features of the tcp transport might not take effect.
HawtDispatch 1.18, released 2013-10-11
- Do not even invoke getLocalHost() if not necessary
- propagate name resolution exceptions in the correct thread context
- Fixes issue #11 : Typo in TcpTransportServer
HawtDispatch 1.17, released 2013-05-18
- Add a get method to Future objects.
- Fixing bug where SSL transports were not getting past the SSL handshake (on linux).
HawtDispatch 1.16, released 2013-05-10
- Fixing invalid the metric duration value.
- Do a better job ignoring errors when JMX is not supported by the platform. (Android etc.)
- Fixes issue #9: HawtDispatch does not work on Android 4.0
HawtDispatch 1.15, released 2013-04-19
- Also include info about how long the metric was monitored for.
- Expose dispatch queue profiling data via JMX.
HawtDispatch 1.14, released 2013-04-09
- Fixes bug where you could end up in a CPU spin when the SSL session closed.
- Added a disabledCypherSuites property to the SSL transports to support disabling some of the supported cypher suites.
- Add a getThread() method to the ThreadDispatchQueue class.
HawtDispatch 1.13, released 2012-12-23
- Upgrade to scala 2.10
- Avoid possible NPE.
- Setup the client SSL transports so that the internal session reuse strategy can be used.
HawtDispatch 1.12, released 2012-09-20
- Custom dispatch sources will now return null after the event has been received to avoid accidentally double processing events.
- Make sure we only return false from the offer method when the transport is also full()
- Add a closeOnCancel option to disable closing the socket when the transport is stopped.
- Rename the SecuredTransport interface to SecuredSession and now both the SSLProtocolCodec and SslTransport implement it.
- You can now handle SSL/TLS encoding/decoding via a wrapping protocol codec. ProtocolCodec and Transport interfaces needs a couple of adjustments to properly support the co
- Better handling of getting the local host address.
- Protocol codec decoding optimizations.
- Move all the connect logic into the start method.
- Do host name resolutions on a blocking executor to avoid stalling the hawtdispatch threads.
- Resize the read buffer after reading from the channel if to avoid to avoid holding on to large buffers.
- Support changing the socket send/recv buffer size on started transports and servers.
- Do at least a non blocking select when we notice that another thread requested the NIO manager wakeup. This should allow us to pickup any new IO events that have occurred
- Dropped the continuations example, added a SSL transport client example
HawtDispatch 1.11, released 2012-05-02
- Support buffer pooling in the abstract protocol codec.
- Adding a TransportAware interface which codecs can implement to be injected with their associated codec.
- Make it easy to configure the client auth mode on the ssl transport server.
- Fixes SSL transport bug where inbound data was not delivered after SSL handshake completed.
- Allow a SslTransportServer to be created just using the constructor.
HawtDispatch 1.10, released 2012-04-06
- Fix assertion error message.
- Switch to using 'Task' abstract base instead of the Runnable interface, in many cases it improves perf by 20% since virtual invocations are cheaper then interface invocation
- Adding a UDP based transport.
- Support configuring the client auth mode.
HawtDispatch 1.9, released 2012-02-27
- Fixes LOW priority global queue was being created with a high thread priority.
- Distribute work load spikes fairly to the worker threads.
- Support updating the transport's dispatch queue.
- Add assertion that catches the following error: queue.setTargetQueue(queue)
- Adding a SecureTransport interface and removing many of the leaky abstractions in the transport package.
HawtDispatch 1.8, released 2012-01-30
- Fixes CPU spin that occurred when a peer disconnected while SSL handshake is in progress.
- Could not create a client initiated SSL connection.
HawtDispatch 1.7, released 2012-01-13
- Cleaning up the transport interfaces. Added an abstract protocol codec that makes it easier to implement them.
HawtDispatch 1.6, released 2011-12-19
- Support using a system property to configure the number of dispatch threads.
- Added a hawtdispatch-transport module which provides nice Transport abstraction for working with Sockets and HawtDispatch.
HawtDispatch 1.5, released 2011-11-29
- HawtDispatch threads are now in a thread group. Setting the UnchaughtExceptionHandler on one of the HawtDispatch threads set the handler for all the threads in the pool.
- Pass an uncaught exceptions to the UncaughtExceptionHandler configured on the HawtDispatch threads.
- Added UDP example
- Fix race condition that was occurring when a serial dispatch queue was suspended.
- Switch to new scalate version which fixes build problems when on OS X Lion.
HawtDispatch 1.4, released 2011-07-18
- Support ordered EventAggregators
HawtDispatch 1.3, released 2011-06-01
- Added an assertExecuting method to the DispatchQueue interface.
- Protect against exceptions from the event dispatch source handlers.
- Upgrade to Scala 2.9.0-1
HawtDispatch 1.2, released 2011-01-20
- Protect against exceptions from the event dispatch source handlers.
- Adding a new HawtServerSocketChannel and HawtSocketChannel which use scala continuations and hawtdispatch to implement NIO based sockets
- Enriching executors with a
runnable
- enriching dispatch queues with arepeatAfter
method - Trimming dead code.
- Inline the dispatch a bit.
- Making dispatch queue interface more consistent with java executors. renamed dispatchAsync to just plain execute, and renamed dispatchAfter to executeAfter
- Removing the Retained interface from the dispatch objects. It adds complexity and overhead without providing the much benefit due to the JVM's automatic GC
- Added scala type getter/setters for the a dispatch queue label.
- Protect against ConcurrentModificationException on the selector's selecteKeys.
- Enriched the DispatchSource objects
- Added some doco on the new
!!
method. - Adjusted paul's auto reset method so that it also returns a future.
- Added await methods to the future since they are easier to spot than the apply methods.
- Support for function, !^, that wraps a partial function in a reset block, thus hiding shift/reset.
- OSGi integration, added activator so that started thread can be shutdown when the bundle is stopped. Also exposed the Dispatch interface
- Added OSGi metadata to the jars.
HawtDispatch 1.1, released 2011-01-20
- Fix bug where the scala version of getCurrentThreadQueue was returning null
- A Future can trigger a callback once it's completed.
- Scala continuation support added.
- Built against Scala 2.8.1
- The maximum number of executions drained from a serial queue before checking
global queues for more work is now configurable via the
hawtdispatch.drains
system property. - createSerialQueue renamed to createQueue to make the API more consistent.
- Handling the case where a selector key is canceled during registration.
- Timer thread is more efficient now.
- Added a AggregatingExecutor to batch up executions
- You can now hook into getting profiling statistics of the dispatch queues
- Fixed the INTEGER_OR aggregator
- Scala usage simplification, import org.fusesource.hawtdispatch._ instead of org.fusesource.hawtdispatch.ScalaDispatch._
- More test cases
- Add getThreadQueue method
HawtDispatch 1.0, released 2010-07-22
- Initial release