Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I know this particular issue was raised a couple of years ago, but no PR was provided at the time and it was mostly a discussion about whether or not there was a use-case for this similar to the use-case for inclusion of the port number setting. Similar to the port setting, it won't change an existing value if the flag isn't set in the configuration file.
I've chosen to create this on my own fork as I've needed to have this setting available for provision during both unit testing and in production. Investigation of other options for this setting have led me to believe that it's not possible to set this through any configuration file (whether human-editable or otherwise) for inclusion in a unit testing scenario or for automatic docker builds where this value needs to be set. I was only able to find the setting in an xml settings export as an attribute against an element, and it's not stored anywhere in the file tree once set. If I've missed something obvious, I'd be happy to be proven wrong!
My specific use case for this is that I have code that requires this value to be set in order to obtain real-time trade information as it happens from the API. Without this set, only trades made with the same client ID can be accessed, which potentially means that we'd miss trades. Setting this value means that all trades on the gateway are available, and that's the only way to meet our requirement.
For unit testing (which makes extensive use of containers), I need to be able to set this value to test that the code is correctly obtaining all trades when it's set, or only some trades when it isn't. In production, I also want to be able to set this cleanly within the dockerised production environment without having to manually adjust values because the system essentially recreates a dockerised gateway from scratch in the event of any sort of issue (or when the gateway is updated). Relying on someone to manually add that value whenever a gateway is re-instantiated isn't viable when there are multiple gateways in use.
TL;DR version: I needed it, couldn't find any other way to do it, so made my own fork to make it happen. I've created a PR but I appreciate it's a configuration setting.