Skip to content

Add Virtual thread Netty NIO transport#6047

Open
franz1981 wants to merge 1 commit intoeclipse-vertx:masterfrom
franz1981:virtual-thread-transport
Open

Add Virtual thread Netty NIO transport#6047
franz1981 wants to merge 1 commit intoeclipse-vertx:masterfrom
franz1981:virtual-thread-transport

Conversation

@franz1981
Copy link
Copy Markdown
Contributor

@franz1981 franz1981 commented Mar 27, 2026

Run Netty NIO event loops as long-running virtual threads instead of platform thread

Run Netty NIO event loops as long-running virtual threads instead of
platform threads. Uses ManualIoEventLoop from Netty 4.2 to manually
drive IO polling and task execution from virtual threads, allowing the
JVM's ForkJoinPool scheduler to multiplex event loops alongside other
virtual threads.

Adds VirtualThreadNioTransport (SPI), Transport.VIRTUAL_THREAD_NIO
(public API), VertxTestBase support, and a VirtualThreadNio Maven
profile to run the full test suite with this transport.
@franz1981 franz1981 marked this pull request as draft March 27, 2026 16:03
@franz1981 franz1981 force-pushed the virtual-thread-transport branch from 14babee to 9f7b8fb Compare March 27, 2026 18:42
@franz1981 franz1981 marked this pull request as ready for review March 27, 2026 18:42
case "io_uring":
transport = Transport.IO_URING;
break;
case "virtual_thread_nio":
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@vietj This could be implemented via the SPI in Quarkus straight on too TBH

@cescoffier I still see the value of having the lower level impls in Vertx if Vertx users can benefit of this

If not, I can send a PR to our Vertx 5 Quarkus branch or @jponge could port this too in the quarkus way.

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.

1 participant