Compare commits

..

No commits in common. "be22b771f54daf51861320e1a0bfd8c43dc39047" and "90ef9e33867908fdb28cfd41cecc2665a4ff09dc" have entirely different histories.

3 changed files with 3 additions and 55 deletions

View File

@ -13,11 +13,7 @@ import pluginCore from "./plugins/core";
import type Config from "@lumeweb/cfg"; import type Config from "@lumeweb/cfg";
import EventEmitter2 from "eventemitter2"; import EventEmitter2 from "eventemitter2";
import log from "../log.js"; import log from "../log.js";
import { import { get as getSwarm } from "./swarm.js";
get as getSwarm,
getProtocolManager,
ProtocolManager,
} from "./swarm.js";
import { get as getSSl, SSLManager } from "./ssl.js"; import { get as getSSl, SSLManager } from "./ssl.js";
import type { HDKey } from "micro-ed25519-hdkey"; import type { HDKey } from "micro-ed25519-hdkey";
@ -90,10 +86,6 @@ class PluginAPI extends EventEmitter2 {
return getSSl(); return getSSl();
} }
get protocols(): ProtocolManager {
return getProtocolManager();
}
public loadPlugin( public loadPlugin(
moduleName: string moduleName: string
): (moduleName: string) => Promise<Plugin> { ): (moduleName: string) => Promise<Plugin> {

View File

@ -5,8 +5,6 @@
import Hyperswarm from "hyperswarm"; import Hyperswarm from "hyperswarm";
// @ts-ignore // @ts-ignore
import DHT from "@hyperswarm/dht"; import DHT from "@hyperswarm/dht";
// @ts-ignore
import Protomux from "protomux";
// @ts-ignore // @ts-ignore
import sodium from "sodium-universal"; import sodium from "sodium-universal";
@ -22,7 +20,6 @@ sodium.crypto_generichash(LUMEWEB_TOPIC_HASH, LUMEWEB);
export type SecretStream = any; export type SecretStream = any;
let node: Hyperswarm; let node: Hyperswarm;
let protocolManager: ProtocolManager;
export async function start() { export async function start() {
const keyPair = getKeyPair(); const keyPair = getKeyPair();
@ -54,44 +51,3 @@ export async function start() {
export function get(): Hyperswarm { export function get(): Hyperswarm {
return node; return node;
} }
export class ProtocolManager {
private _protocols: Map<string, Function> = new Map<string, Function>();
private _swarm;
constructor(swarm: any) {
this._swarm = swarm;
this._swarm.on("connection", (peer: any) => {
for (const protocol of this._protocols) {
Protomux.from(peer).pair(
protocol[0],
this.handler.bind(this, protocol[0], peer)
);
}
});
}
private handler(protocol: string, peer: any) {
if (this._protocols.has(protocol)) {
this._protocols.get(protocol)?.(peer, Protomux.from(peer));
}
}
public register(name: string, handler: Function): boolean {
if (this._protocols.has(name)) {
return false;
}
this._protocols.set(name, handler);
return true;
}
}
export function getProtocolManager(): ProtocolManager {
if (!protocolManager) {
protocolManager = new ProtocolManager(get());
}
return protocolManager;
}

View File

@ -650,13 +650,13 @@ __metadata:
"@lumeweb/dht-flood@https://git.lumeweb.com/LumeWeb/dht-flood.git": "@lumeweb/dht-flood@https://git.lumeweb.com/LumeWeb/dht-flood.git":
version: 0.1.0 version: 0.1.0
resolution: "@lumeweb/dht-flood@https://git.lumeweb.com/LumeWeb/dht-flood.git#commit=9cd5e798d91bfb5ffe9665894421e22372852f8f" resolution: "@lumeweb/dht-flood@https://git.lumeweb.com/LumeWeb/dht-flood.git#commit=993eff5398ce3018dc52f281d71750676d4cb700"
dependencies: dependencies:
compact-encoding: "npm:^2.11.0" compact-encoding: "npm:^2.11.0"
lru: "npm:^3.1.0" lru: "npm:^3.1.0"
protocol-buffers-encodings: "npm:^1.2.0" protocol-buffers-encodings: "npm:^1.2.0"
protomux-rpc: "npm:^1.3.0" protomux-rpc: "npm:^1.3.0"
checksum: de53558a9e91bcade4136c1566b5ee913b03b5086e91cce64fdff2c5e2e09726e33829d42da6294ad324f8b7ee184fba5e0121efacbb314522a4d928f2705bf5 checksum: 181d25e531c54185a4db2d6adfdd0b2d506aceee3e7fc9af5217c0038f1e6e291e5b093a45d570febce85210bdb58aa701fda6fa27004dcfb685608c215a0883
languageName: node languageName: node
linkType: hard linkType: hard