Skip to content

Conversation

@michaelwilner
Copy link
Contributor

Brings in changes and closes #732

We have observed slow consumption of FIX messages in the Initiator.

Since the outbound channel is buffered, the event loop is sending too
many messages at once but reads incoming messages one by one. This
creates an inconsistency between incoming consumption messages and
outgoing production messages.

In this PR we resolve this issue by making the inbound channel buffered.
So the Initiator can now read and write in a truly asynchronous way.

This change is feature flagged. Can be used by setting
`InitiatorInChanCapacity` with an integer representing the capacity of
the inbound channel to the session settings config.
@michaelwilner michaelwilner marked this pull request as draft October 23, 2025 16:14
@michaelwilner michaelwilner marked this pull request as ready for review October 24, 2025 03:30
Copy link

@brobits brobits left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

@michaelwilner michaelwilner merged commit 2497d57 into main Oct 24, 2025
47 checks passed
@michaelwilner michaelwilner deleted the buffered-fix-in-channel branch October 24, 2025 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants