rabbitmq-dotnet-client
rabbitmq-dotnet-client copied to clipboard
Minimal System.IO.Pipelines integration to prepare for full-async work
Proposed Changes
This introduces System.IO.Pipelines
into the RabbitMQ Client. I decided to take the minimal step required to add it, as a way to break down PR number #1199 into more manageable parts.
This has no API changes, it still has the Channels for transmission buffering (to be changed later), but instead of reading/writing directly to a BufferedStream
, we are now using Pipelines which handle the buffering and back-pressure.
This paves the way forward to slowly get rid of the Channels as well, and to create a fully and proper asynchronous code paths for sending/receiving data in a performance manner.
Types of Changes
- [ ] Bug fix (non-breaking change which fixes issue #NNNN)
- [X] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause an observable behavior change in existing systems)
- [ ] Documentation improvements (corrections, new content, etc)
- [ ] Cosmetic change (whitespace, formatting, etc)
Checklist
- [X] I have read the
CONTRIBUTING.md
document - [X] I have signed the CA (see https://cla.pivotal.io/sign/rabbitmq)
- [X] All tests pass locally with my changes
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] I have added necessary documentation (if appropriate)
- [ ] Any dependent changes have been merged and published in related repositories
Thanks, I'll review this coming week.
Thanks @danielmarbach ... as you can see I'm working through your PR review comments. Thanks a MILLION.
Great to see traction here :) thanks @danielmarbach and @lukebakken. I've been less active lately while I'm transitioning into a new job as well as doing other OSS projects and public speaking, but the RabbitMQ client is always on my list of things to revisit :)
Looks good to me 👍 Let's give other reviewers some time to comment before we merge.
Like your profile pic! I used to work on EVE Online for CCP Games :)
I plan on merging this as soon as CI passes, FYI!
Thank you @stebet
Thanks for picking up the remaining work @lukebakken. Hopefully the full-async work can begin soon :)