Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to disable batched sends #4174

Open
ramonsmits opened this issue Sep 28, 2016 · 0 comments
Open

Ability to disable batched sends #4174

ramonsmits opened this issue Sep 28, 2016 · 0 comments
Milestone

Comments

@ramonsmits
Copy link
Member

All transaction modes currently use buffered sends. The writing/flushing of messages happens after all handlers complete. This can reduce ghost messages for transports that do not support SendsAtomicWithReceive or TransactionScope.

  • Transports that do support SendsAtomicWithReceive or TransactionScope do not require buffered sends to prevent ghost messages.
  • Removing latency in some cases as messages can be written/flushed to the transport immediately, no need to wait until all messages are created.
  • Ability to use TTBR on MSMQ with ReceiveOnly as each send/publish would be dispatch 'isolated'. Currently impossible because the buffered messages are written to the transport in a single transaction.
  • Immediate dispatch isn't good alternative if you want SendsAtomicWithReceive but do want to flush messages to the transport before all handlers are completed as immediate dispatch is not part of the receive operation
  • Reducing RAM usage when sending large message in bulk
  • Prevent the need to use immediate dispatch with ReceiveOnly to circumvent buffered sends or atomic buffer flushing

Forked from #4077 (comment)

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

No branches or pull requests

3 participants