@ndn/l3face
Advanced tools
Comparing version 0.0.20240630 to 0.0.20250122
@@ -64,3 +64,3 @@ import { Forwarder } from "@ndn/fw"; | ||
/** Create a bridge that passes packets between two logical forwarders. */ | ||
function create({ bridgeName = "bridge", fwA, fwB, fwOpts, relayAB = (x) => x, relayBA = (x) => x, routesAB, routesBA, } = {}) { | ||
function create({ bridgeName = "bridge", fwA, fwB, fwOpts, attrAB, attrBA, relayAB = (x) => x, relayBA = (x) => x, routesAB, routesBA, } = {}) { | ||
const closers = new Closers(); | ||
@@ -78,5 +78,5 @@ const closing = closers.wait(); | ||
tB.bridgePeer = tA; | ||
const faceA = fwA.addFace(new L3Face(tA, { advertiseFrom: false })); | ||
const faceA = fwA.addFace(new L3Face(tA, { advertiseFrom: false, ...attrAB })); | ||
L3Face.processAddRoutes(faceA, routesAB); | ||
const faceB = fwB.addFace(new L3Face(tB, { advertiseFrom: false })); | ||
const faceB = fwB.addFace(new L3Face(tB, { advertiseFrom: false, ...attrBA })); | ||
L3Face.processAddRoutes(faceB, routesBA); | ||
@@ -105,4 +105,3 @@ closers.push(faceA, faceB); | ||
if (!Array.isArray(opts)) { | ||
const a = Array.from({ length: opts.leaves }); | ||
a.fill(opts); | ||
const a = Array.from({ length: opts.leaves }, () => structuredClone(opts)); | ||
opts = a; | ||
@@ -109,0 +108,0 @@ } |
@@ -64,3 +64,3 @@ import { Forwarder } from "@ndn/fw"; | ||
/** Create a bridge that passes packets between two logical forwarders. */ | ||
function create({ bridgeName = "bridge", fwA, fwB, fwOpts, relayAB = (x) => x, relayBA = (x) => x, routesAB, routesBA, } = {}) { | ||
function create({ bridgeName = "bridge", fwA, fwB, fwOpts, attrAB, attrBA, relayAB = (x) => x, relayBA = (x) => x, routesAB, routesBA, } = {}) { | ||
const closers = new Closers(); | ||
@@ -78,5 +78,5 @@ const closing = closers.wait(); | ||
tB.bridgePeer = tA; | ||
const faceA = fwA.addFace(new L3Face(tA, { advertiseFrom: false })); | ||
const faceA = fwA.addFace(new L3Face(tA, { advertiseFrom: false, ...attrAB })); | ||
L3Face.processAddRoutes(faceA, routesAB); | ||
const faceB = fwB.addFace(new L3Face(tB, { advertiseFrom: false })); | ||
const faceB = fwB.addFace(new L3Face(tB, { advertiseFrom: false, ...attrBA })); | ||
L3Face.processAddRoutes(faceB, routesBA); | ||
@@ -105,4 +105,3 @@ closers.push(faceA, faceB); | ||
if (!Array.isArray(opts)) { | ||
const a = Array.from({ length: opts.leaves }); | ||
a.fill(opts); | ||
const a = Array.from({ length: opts.leaves }, () => structuredClone(opts)); | ||
opts = a; | ||
@@ -109,0 +108,0 @@ } |
import { Forwarder, type FwFace } from "@ndn/fw"; | ||
import type { NameLike } from "@ndn/packet"; | ||
import { type Except } from "type-fest"; | ||
import type { Except } from "type-fest"; | ||
import { L3Face } from "./l3face.js"; | ||
/** | ||
@@ -69,2 +70,6 @@ * A bridge passes packets between two logical forwarders. | ||
fwOpts?: Forwarder.Options; | ||
/** Face attributes from forwarder A to forwarder B. */ | ||
attrAB?: L3Face.Attributes; | ||
/** Face attributes from forwarder A to forwarder B. */ | ||
attrBA?: L3Face.Attributes; | ||
/** | ||
@@ -92,4 +97,4 @@ * Relay options for packets from forwarder A to forwarder B. | ||
/** Create a bridge that passes packets between two logical forwarders. */ | ||
function create({ bridgeName, fwA, fwB, fwOpts, relayAB, relayBA, routesAB, routesBA, }?: CreateOptions): Bridge; | ||
type Renamed<A extends string, B extends string> = Except<Bridge, "fwA" | "fwB" | "faceA" | "faceB"> & { | ||
function create({ bridgeName, fwA, fwB, fwOpts, attrAB, attrBA, relayAB, relayBA, routesAB, routesBA, }?: CreateOptions): Bridge; | ||
type Renamed<A extends string, B extends string> = Except<Bridge, "rename" | "fwA" | "fwB" | "faceA" | "faceB"> & { | ||
[k in `fw${A | B}`]: Forwarder; | ||
@@ -96,0 +101,0 @@ } & { |
@@ -141,2 +141,5 @@ import { __importDefault, __importStar } from "tslib"; | ||
next: () => txSourceIterator.next(), | ||
async [Symbol.asyncDispose]() { | ||
// https://github.com/zen-fs/core/issues/158 | ||
}, | ||
}), | ||
@@ -143,0 +146,0 @@ }; |
@@ -141,2 +141,5 @@ import { __importDefault, __importStar } from "tslib"; | ||
next: () => txSourceIterator.next(), | ||
async [Symbol.asyncDispose]() { | ||
// https://github.com/zen-fs/core/issues/158 | ||
}, | ||
}), | ||
@@ -143,0 +146,0 @@ }; |
{ | ||
"name": "@ndn/l3face", | ||
"version": "0.0.20240630", | ||
"version": "0.0.20250122", | ||
"description": "NDNts: Network Layer Face", | ||
@@ -25,13 +25,13 @@ "keywords": [ | ||
"dependencies": { | ||
"@ndn/fw": "0.0.20240630", | ||
"@ndn/lp": "0.0.20240630", | ||
"@ndn/packet": "0.0.20240630", | ||
"@ndn/tlv": "0.0.20240630", | ||
"@ndn/util": "0.0.20240630", | ||
"abortable-iterator": "^5.0.1", | ||
"@ndn/fw": "0.0.20250122", | ||
"@ndn/lp": "0.0.20250122", | ||
"@ndn/packet": "0.0.20250122", | ||
"@ndn/tlv": "0.0.20250122", | ||
"@ndn/util": "0.0.20250122", | ||
"abortable-iterator": "^5.1.0", | ||
"p-event": "^6.0.1", | ||
"retry": "^0.13.1", | ||
"streaming-iterables": "^8.0.1", | ||
"tslib": "^2.6.3", | ||
"type-fest": "^4.20.1", | ||
"tslib": "^2.8.1", | ||
"type-fest": "^4.33.0", | ||
"typescript-event-target": "^1.1.1" | ||
@@ -38,0 +38,0 @@ }, |
Sorry, the diff of this file is not supported yet
52835
1407
+ Added@ndn/fw@0.0.20250122(transitive)
+ Added@ndn/lp@0.0.20250122(transitive)
+ Added@ndn/packet@0.0.20250122(transitive)
+ Added@ndn/tlv@0.0.20250122(transitive)
+ Added@ndn/util@0.0.20250122(transitive)
+ Added@ungap/with-resolvers@0.1.0(transitive)
- Removed@ndn/fw@0.0.20240630(transitive)
- Removed@ndn/lp@0.0.20240630(transitive)
- Removed@ndn/packet@0.0.20240630(transitive)
- Removed@ndn/tlv@0.0.20240630(transitive)
- Removed@ndn/util@0.0.20240630(transitive)
- Removedhirestime@7.0.4(transitive)
- Removedmnemonist@0.39.8(transitive)
Updated@ndn/fw@0.0.20250122
Updated@ndn/lp@0.0.20250122
Updated@ndn/packet@0.0.20250122
Updated@ndn/tlv@0.0.20250122
Updated@ndn/util@0.0.20250122
Updatedabortable-iterator@^5.1.0
Updatedtslib@^2.8.1
Updatedtype-fest@^4.33.0