Skip to content

Conversation

@SentryMan
Copy link
Collaborator

@SentryMan SentryMan commented Nov 6, 2025

initial draft of Http3.

part of #46

relies on ptrd/flupke#18 and ptrd/flupke#17

SentryMan and others added 2 commits November 6, 2025 12:22
Co-Authored-By: Mahied Maruf <contact@mechite.com>
Co-Authored-By: Mahied Maruf <contact@mechite.com>
@SentryMan SentryMan added the enhancement New feature or request label Nov 6, 2025
@SentryMan
Copy link
Collaborator Author

@mechite what do you think of this so far

Copy link
Contributor

@mechite mechite left a comment

Choose a reason for hiding this comment

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

I think "yes". Great simple WebTransport implementation that won't bother
anyone, and HTTP3 done perfectly.

Random thought — do you think we could perhaps bump the source version
down to Java 17? Kwik and Flupke target 11, and the patches don't appear to
have any kind of requirement for newer features, though at the same time I
do see the avaje-jex-parent enforces Java 21 too...

I don't need it at all, but I'm not a fan of throwing the source version up if
it would be like a five-LOC change to potentially get more users / use cases

@SentryMan
Copy link
Collaborator Author

Remember that jex exclusively uses virtual threads so that we can avoid needing to implement any async stuff

@mechite
Copy link
Contributor

mechite commented Nov 8, 2025

exclusively uses virtual threads

right.. didn't know that.
you learn something new every day

mechite added a commit to mechite/avaje-jex that referenced this pull request Nov 8, 2025
Clarify that virtual threads aren't just a default or suggestion,
but a hard requirement.

Related-to: avaje#320 (comment)
Signed-off-by: Mahied Maruf <contact@mechite.com>
@SentryMan
Copy link
Collaborator Author

You can put in a manual override to use a regular executor, but the whole thing was designed with virtual threads in mind

@mechite
Copy link
Contributor

mechite commented Nov 8, 2025

random question... is the .impl package preferred here?

in Avaje projects the pattern I picked up was either — same package,
public interface SomeInterface ... & final ... DSomeInterface ...,
...or with a "subpackage" named .core for implementations

(I don't care — but consistency is gold)

@SentryMan
Copy link
Collaborator Author

consider me baffled, these transport tests are so flaky

@SentryMan
Copy link
Collaborator Author

this might be the fabled udp unreliability, I can't tell if it's a client or server issue, given the total lack of java webtransport clients in the ecosystem.

@SentryMan
Copy link
Collaborator Author

SentryMan commented Nov 9, 2025

I think I get it, it was sending the data frames before the ssl frames, so just need a delay before sending data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants