The Lab

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »



Changelog

All notable changes to 3.14.0 Java API will be documented in this file.

The 'name' of the api is 3.14.0 and will never change.

The '-###' is an arbitrary and increasing index used to denote precedence. This index will increase by 100 for a new release with added features where it will increase by 1 for bug fixes.

Changes will always be backwards compatible.

[3.14.0-300] - TBD

  • [ADDED] - Unhandled exceptions thrown in the client callbacks are now caught and properly logged. Additionally these

will also cause the MFClient to stop dispatching and disconnect from the server.

  • [FIXED] - Issue with ZeroGC issue handling initial heartbeats introduced in [3.14.0-203]

[3.14.0-203] - Dec 18 2017

  • [FIXED] - Issue with overwriting of internally buffered data. The issue was that if there was any data in the

buffer when a new message needs to be written out - the originally buffered data was overwritten. This caused data corruption and server disconnection. In practice this only happens to high-volume market making clients who send large quote messages extremely quickly. What will happen now is the client will disconnect with an error message unless the new stay connected JVM flag is used.

  • [ADDED] - 3 optional JVM args to control messaging behavior:
    • MFStayConnectedAfterSendBufferFull {true|false default: false} - if set to true, then if the send buffer
    is full, the API will not disconnect. The message will not be sent and the send call will report APIResult.BUFFER_FULL. You will have to attempt to resend that or another message. There is no callback available to inform you that the buffer is empty and sending can continue.
    • MFTcpReceiveBufferBytesHint {&gt0} - if provided, will try to set the TCP Receive buffer size to the value.
    The actual value set is OS dependent but will in practice be close to the set value. The actual used value will be logged whenever a socket is created.
    • MFTcpSendBufferBytesHint {&gt0} - if provided, will try to set the TCP Send buffer size to the value.
    The actual value set is OS dependent but will in practice be close to the set value. The actual used value will be logged whenever a socket is created.
  • [FIXED] - ZeroGC MFClient and MFMarketMaker now implement #getPingTimes. If useHeartbeats is set to true (by default it is),

the the client will periodically send a message the server and the server will respond. The timestamps of these messages are stored and available to the user.

[3.14.0-101] - Sept 6 2017

  • [FIXED] - Issue with quick overwrites causing future reads to fail. Only happened under situations where the sending

rate exceeded the ability of the tcp channel to clear.

No files shared here yet.

  • No labels