1.4.0
- Native media driver written in C for greater throughput on Linux. Get started here....
- Archive service in Java to support the recording and replay of message streams. Get started here....
- Improved
AeronStat
for running in a Windows console and addeddelay
param for controlling the update cycle in seconds. - Handle race condition on driver start when checking if it is active yet. Issue #385.
- Update
FlowControl
API to support ashouldLinger
method and EOS parameters to allow for faster clean up of resources. - Encapsulate buffer and length into a struct for atomic update of images under a subscription in C++. Issue #383.
- Add
Subscription::controlPoll
to C++ client. - C++ client was not going round robin on the images under a subscription. Issue #381.
- Added
AgentInvoker
to C++ client for removing the need for the client conductor thread. - Fix issues with publications being unblocked when clients are closing and creating new subscriptions. Issue #377.
- Add
Publication.MAX_POSITION_EXCEEDED
return code from offer for whentermId
can wrap due to using small term buffer lengths. - Add
shared_ptr
for LogBuffer saved inPublication
andExclusivePublication
to keep mapping around while in scope. Issue #371. - Rework Java client to better support timeouts and closing from other threads to help avoid segfaults. Issue #371.
- Publications store
registrationId
andcorrelationId
with the ability to callPublication.isOriginal()
to determine if this is the first publication added for a given channel and streamId on a driver. - Move access to the
AgentInvoker
fromAeron.Context
toAeron
on the client andMediaDriver.Context
toMediaDriver
. - Fix alignment types in native buffers for supporting processors which require alignment. Issue #359.
- Counters now have labels in US_ASCII rather than UTF-8 to be more efficient as they are restricted to US_ASCII anyway.
Image.joiningPosition()
has been renamed toImage.joinPosition()
.ByteBuffer
s inSubscription
andImage
polling callbacks now have offsets the same as termBuffer offsets so theByteBuffer
can be used directly.- Stricter validation of channel URI parameters and new classes for client usage in
ChannelUri
andChannelUriStringBuilder
. - Reduce object allocations when cycling streams in Java media driver.
- Add
Image.isEndOfStream()
for fast detection of stream end. - Add direct
ByteBuffer
support toFragmentAssembler
s to avoid the need for copying of received messages before sending on the an NIO channel. - Upgrade to Agrona 0.9.7.
- Upgrade to SBE 1.7.1.
- Upgrade to Mockito 2.8.47.
- Upgrade to Byte Buddy 1.6.14.
- Upgrade to Checkstyle 8.1.
- Upgrade to sevntu-checks:1.24.1.
- Upgrade to Gradle 4.1.
Java binaries can be found here...