quickfixj
quickfixj copied to clipboard
Draft: Changes from FlexTrade
trafficstars
Change summary:
- Jacoco & Surefire build data
- Introduction of an interface
IMessageto allow alternate implementations ofMessage - Log handlers for InvalidMessage and Disconnects
- Exposing
creationTimeCalendarobject for reduced GC - Allowing Throwables (e.g. OOMs) to propogate
- Adding DataDictionaryProxy for dynamically reloading a session's Dictionary
- Re-exposing field ordering information from DataDictionary objects
- ValidationSettings separation
- Providing the value when rejecting a message for a bad field value
- Standardising error reasons
- Introduction of SendResult to properly clarify persistence status of messages
- Adding TimePeriods as a complex session timing mechanism
- Adding UseFirstTagAsGroupDelimiter to handle FIX engines that don't behave in a FIX-spec compliant mechanism
- Adding OnlyAllowSeenOrKnownFieldsInLastGroup to control whether to fold unknown tags into the last group or not
- Adding WeakParsingMode to add an alternative parsing mechanism to handle Groups without a DataDictionary
- Adding Fix41ResendRequestAsFix42 to deal with FIX implementations that use FIX.4.2 semantics in a FIX.4.1 session
- Adding UseDictionaryOrdering to apply the DataDictionary's ordering when parsing a message
- Adding MaxMessagesQueuedWhilePendingResend to prevent OOMs by capping the number of messages retrieved at once in response to a resend request
- Adding MaxResendBatchRetrievalSize similarly
- Adding UseDataDictionaryForMsgTypes to allow you to use the DataDictionary only on selected message types
- Adding RejectMessageOutOfTime to allow you to control whether to send a reject in response to a late message
- Deprecated Session#reset in favour of one that provides a reason to give to the Logout
- Adding IgnoredGarbledMessageListener to provide the app information about messages discarded
- Stopped Session generating rejects in response to rejects - can lead to a reject-loop
- Reworked the resend logic
- Added notifications for duplicate resend requests
- Added sendNoChange to allow the app to ensure tag 43 is set
- Added sendExact method to allow the app even more control
- Added the date-time to the log message when resettting to aid debugging issues
- Changed SessionID to ignore 'SubIDs' # Internal decision
- Added a SimpleMessage class that doesn't do much structural handling
- Removed Sleepycat implementation
- Moved calls to create acceptors separate to the starting of them
- Improved the logging surrounding multiple/unknown sessions
- Improved CompositeLog testing.
- Removed some internet-required tests
- Added library to allow 'random-value' testing
Outstanding work:
- Rebase against
master - Split into separate reviews based on feedback
Woah ;)