mirror of
https://github.com/denoland/deno.git
synced 2025-08-25 21:15:10 +00:00
feat(unstable): Implement QUIC (#21942)
Implements a QUIC interface, loosely based on the WebTransport API (a future change could add the WebTransport API, built on top of this one). [quinn](https://docs.rs/quinn/latest/quinn/) is used for the underlying QUIC implementation, for a few reasons: - A cloneable "handle" api which fits quite nicely into deno resources. - Good collaboration with the rust ecosystem, especially rustls. - I like it. <!-- Before submitting a PR, please read https://deno.com/manual/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. -->
This commit is contained in:
parent
23f7032d56
commit
65b647909d
12 changed files with 1591 additions and 19 deletions
|
@ -13,6 +13,7 @@ import * as console from "ext:deno_console/01_console.js";
|
|||
import * as ffi from "ext:deno_ffi/00_ffi.js";
|
||||
import * as net from "ext:deno_net/01_net.js";
|
||||
import * as tls from "ext:deno_net/02_tls.js";
|
||||
import * as quic from "ext:deno_net/03_quic.js";
|
||||
import * as serve from "ext:deno_http/00_serve.ts";
|
||||
import * as http from "ext:deno_http/01_http.js";
|
||||
import * as websocket from "ext:deno_http/02_websocket.ts";
|
||||
|
@ -174,6 +175,15 @@ denoNsUnstableById[unstableIds.net] = {
|
|||
op_net_listen_udp,
|
||||
op_net_listen_unixpacket,
|
||||
),
|
||||
|
||||
connectQuic: quic.connectQuic,
|
||||
listenQuic: quic.listenQuic,
|
||||
QuicBidirectionalStream: quic.QuicBidirectionalStream,
|
||||
QuicConn: quic.QuicConn,
|
||||
QuicListener: quic.QuicListener,
|
||||
QuicReceiveStream: quic.QuicReceiveStream,
|
||||
QuicSendStream: quic.QuicSendStream,
|
||||
QuicIncoming: quic.QuicIncoming,
|
||||
};
|
||||
|
||||
// denoNsUnstableById[unstableIds.unsafeProto] = { __proto__: null }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue