Series of improvements to vertx-utils and resteasy#53676
Draft
jponge wants to merge 7 commits intoquarkusio:mainfrom
Draft
Series of improvements to vertx-utils and resteasy#53676jponge wants to merge 7 commits intoquarkusio:mainfrom
jponge wants to merge 7 commits intoquarkusio:mainfrom
Conversation
Deduplicate the near-identical VertxBlockingInput inner classes from the three VertxInputStream implementations (vertx-http runtime, RESTEasy Reactive server, RESTEasy Reactive client) into a single shared class in vertx-utils. The new implementation uses ReentrantLock/Condition instead of synchronized/wait/notifyAll to avoid carrier-thread pinning when running on JDK 21+ virtual threads.
Replace byte-array allocations and copies with Unpooled.wrappedBuffer and ByteBufInputStream for reading request bodies.
…eaming Use VertxByteBufAllocator.POOLED_ALLOCATOR for response byte[] writes instead of Buffer.buffer() heap copies. Replace manual handler/pause/resume/endHandler wiring in async file body writers (Vert.x and Mutiny) with the built-in pipe().to() API. Pass Buffer directly in ServerMutinyBufferMessageBodyWriter when the context is a VertxResteasyReactiveRequestContext.
Member
Author
|
I've been exploring various refactorings around the case of @franz1981 @geoand there are possibly some changes that could be useful, I tried to rebuild a coherent commits series from various branches / changes I had. No big rush to review, it's a draft. I'm interested in your opinion but I'm not sure what the fate of this PR is. |
|
🎊 PR Preview 6a8549a has been successfully built and deployed to https://quarkus-pr-main-53676-preview.surge.sh/version/main/guides/
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

This is a series of improvements to vertx-utils and resteasy (reactive and classic) while revisiting the state of
VertxInputStreamandVertxOutputStream.This draft is part of the thoughts on #53618 for the
main(Quarkus 3) branch.