@ndn/quic-transport
Advanced tools
Comparing version 0.0.20210203 to 0.0.20210930
@@ -1,35 +0,1 @@ | ||
import { L3Face, rxFromPacketIterable, Transport } from "@ndn/l3face"; | ||
/** QUIC transport. */ | ||
export class QuicTransport extends Transport { | ||
constructor(uri, transport) { | ||
super({ | ||
describe: `QUIC(${uri})`, | ||
}); | ||
this.tx = async (iterable) => { | ||
for await (const pkt of iterable) { | ||
await this.datagramWriter.write(pkt); | ||
} | ||
await this.datagramWriter.close(); | ||
}; | ||
this.datagramWriter = transport.sendDatagrams().getWriter(); | ||
this.rx = rxFromPacketIterable((async function* () { | ||
const reader = transport.receiveDatagrams().getReader(); | ||
for (;;) { | ||
const result = await reader.read(); | ||
if (result.done) { | ||
break; | ||
} | ||
yield result.value; | ||
} | ||
})()); | ||
} | ||
static async connect(uri) { | ||
const transport = new globalThis.QuicTransport(uri); | ||
await transport.ready; | ||
return new QuicTransport(uri, transport); | ||
} | ||
} | ||
(function (QuicTransport) { | ||
/** Create a transport and add to forwarder. */ | ||
QuicTransport.createFace = L3Face.makeCreateFace(QuicTransport.connect); | ||
})(QuicTransport || (QuicTransport = {})); | ||
export * from "./h3-transport_browser.js"; |
@@ -1,35 +0,1 @@ | ||
import { L3Face, rxFromPacketIterable, Transport } from "@ndn/l3face"; | ||
/** QUIC transport. */ | ||
export class QuicTransport extends Transport { | ||
constructor(uri, transport) { | ||
super({ | ||
describe: `QUIC(${uri})`, | ||
}); | ||
this.tx = async (iterable) => { | ||
for await (const pkt of iterable) { | ||
await this.datagramWriter.write(pkt); | ||
} | ||
await this.datagramWriter.close(); | ||
}; | ||
this.datagramWriter = transport.sendDatagrams().getWriter(); | ||
this.rx = rxFromPacketIterable((async function* () { | ||
const reader = transport.receiveDatagrams().getReader(); | ||
for (;;) { | ||
const result = await reader.read(); | ||
if (result.done) { | ||
break; | ||
} | ||
yield result.value; | ||
} | ||
})()); | ||
} | ||
static async connect(uri) { | ||
const transport = new globalThis.QuicTransport(uri); | ||
await transport.ready; | ||
return new QuicTransport(uri, transport); | ||
} | ||
} | ||
(function (QuicTransport) { | ||
/** Create a transport and add to forwarder. */ | ||
QuicTransport.createFace = L3Face.makeCreateFace(QuicTransport.connect); | ||
})(QuicTransport || (QuicTransport = {})); | ||
export * from "./h3-transport_node.js"; |
@@ -1,13 +0,1 @@ | ||
import { L3Face, Transport } from "@ndn/l3face"; | ||
/** QUIC transport. */ | ||
export declare class QuicTransport extends Transport { | ||
static connect(uri: string): Promise<QuicTransport>; | ||
readonly rx: Transport.Rx; | ||
private readonly datagramWriter; | ||
private constructor(); | ||
tx: (iterable: AsyncIterable<Uint8Array>) => Promise<void>; | ||
} | ||
export declare namespace QuicTransport { | ||
/** Create a transport and add to forwarder. */ | ||
const createFace: L3Face.CreateFaceFunc<typeof QuicTransport.connect>; | ||
} | ||
export * from "./h3-transport"; |
{ | ||
"name": "@ndn/quic-transport", | ||
"version": "0.0.20210203", | ||
"description": "NDNts: QUIC Transport", | ||
"version": "0.0.20210930", | ||
"description": "NDNts: HTTP/3 Transport", | ||
"keywords": [ | ||
@@ -18,5 +18,2 @@ "NDN", | ||
"sideEffects": false, | ||
"browser": { | ||
"web-bluetooth": false | ||
}, | ||
"homepage": "https://yoursunny.com/p/NDNts/", | ||
@@ -29,6 +26,6 @@ "repository": { | ||
"dependencies": { | ||
"@ndn/l3face": "0.0.20210203", | ||
"tslib": "^2.1.0" | ||
"@ndn/l3face": "0.0.20210930", | ||
"tslib": "^2.3.1" | ||
}, | ||
"types": "lib/mod.d.ts" | ||
} |
@@ -1,6 +0,6 @@ | ||
# @ndn/web-bluetooth-transport | ||
# @ndn/quic-transport | ||
This package is part of [NDNts](https://yoursunny.com/p/NDNts/), Named Data Networking libraries for the modern web. | ||
This package implements a QUIC client transport using experimental [QuicTransport API](https://web.dev/quictransport/) in Chromium browser. | ||
It requires [NDN-QUIC gateway](https://github.com/yoursunny/NDN-QUIC-gateway) to translate between QUIC and UDP. | ||
This package implements an HTTP/3 client transport using experimental [WebTransport API](https://web.dev/webtransport/) in Chromium browser. | ||
It requires [NDN-QUIC gateway](https://github.com/yoursunny/NDN-QUIC-gateway) to translate between HTTP3-over-QUIC and UDP. |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
6333
8
153
1
+ Added@ndn/fw@0.0.20210930(transitive)
+ Added@ndn/l3face@0.0.20210930(transitive)
+ Added@ndn/lp@0.0.20210930(transitive)
+ Added@ndn/packet@0.0.20210930(transitive)
+ Added@ndn/tlv@0.0.20210930(transitive)
+ Addedabort-controller@3.0.0(transitive)
+ Addedabortable-iterator@3.0.2(transitive)
+ Addedevent-target-shim@5.0.1(transitive)
+ Addedit-pushable@1.4.2(transitive)
+ Addedp-event@4.2.0(transitive)
+ Addedp-finally@1.0.0(transitive)
+ Addedp-timeout@3.2.0(transitive)
+ Addedretry@0.13.1(transitive)
+ Addedstreaming-iterables@6.2.0(transitive)
- Removed@ndn/fw@0.0.20210203(transitive)
- Removed@ndn/l3face@0.0.20210203(transitive)
- Removed@ndn/lp@0.0.20210203(transitive)
- Removed@ndn/packet@0.0.20210203(transitive)
- Removed@ndn/tlv@0.0.20210203(transitive)
- Removedit-pushable@1.4.0(transitive)
- Removedretry@0.12.0(transitive)
- Removedstreaming-iterables@5.0.4(transitive)
Updated@ndn/l3face@0.0.20210930
Updatedtslib@^2.3.1