Fixes for AsyncAppender, added speed tests.
Remove unnecessary call to counter.
Update Buffer with additional functionality, cover all methods with tests.
Remove compiler warning.
Ignore the experimental speed tests.
Ignore the syslog throughput tests.
Update DelimitedCodec to use Buffer.Views
Update SyslogCodec to use efficient Buffer.Views.
Merge branch 'master' into buffer-operations
Fix AsyncAppender tests.
Efficiency improvements in String decoding, tweaks to Views.
After extensive profiling, it was discovered that reclaiming buffers is an expensive operation that doesn't need to be done on every read. Introduced a knob that users can tweak (reactor.tcp.memReclainRatio) to trade off memory usage for higher throughput. There is a limit to the effectiveness of this metric, but by adjusting it correctly, the throughput can be nearly tripled.
Changed codec to accept an optional Object and Observable to do notification of decoded messages on. It is a performance/throughput improvement to do so, but if they are null, the decoder will simply return the decoded object immediately. This is an efficiency improvement made after extensive profiling and discovering that the syslog codec's use of ArrayList was hurting throughput, so these changes to the codecs make it easier for decoders to notify Consumers of new data.
Removed reference to current codec rather than change this obsolete version. Should eventually be deleted.
Merge branch 'buffer-operations'