amphp / amp

A non-blocking concurrency framework for PHP applications. 🐘

Home Page:https://amphp.org/amp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QUIC support

Nek- opened this issue · comments

Hello,

My point of view on amphp is that this project pushes always PHP limits further, and I love it. I think it's time to talk about a support of QUIC so amp can support HTTP/3 as well.

For the record, QUIC is already supported in some languages, see Wikipedia: https://en.wikipedia.org/wiki/QUIC#Source_code

What do you think about that? Do you have any plan for its support? I assume it should be a package on top of the UDP library of amp.

Yes.

But I consider it most likely that we won't implement QUIC in PHP code, but use bindings via ext/ffi (e.g. quiche). There's some crypto embedded in QUIC, which isn't trivially done in PHP (or rather doing so would be terribly slow) as openssl refuses to provide a simple API for QUIC, but is going to implement an opinionated one, with their own event loop.

@bwoebi thank you for the details you are giving, this is super interesting. Could you add some links? (I'm curious about the discussion around openssl for example)

Is there another canal where you discussed QUIC support? (PHP RFC? A repository for an extension?)

Is there some information about a WIP inside openssl for the event loop you're talking about?

I'm interesting in trying to help (and I'm probably not the only one ^^), but we I think we need to talk about and give the right links here. :)