*Export swarm start
*Make swarm get non async to prevent race conditions
This commit is contained in:
parent
ebd09f9a52
commit
ec33e40c74
|
@ -36,7 +36,7 @@ async function ipUpdate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function start() {
|
export async function start() {
|
||||||
const swarm = (await getSwarm()) as any;
|
const swarm = getSwarm();
|
||||||
|
|
||||||
await ipUpdate();
|
await ipUpdate();
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ import { getSslContext } from "./ssl.js";
|
||||||
export async function start() {
|
export async function start() {
|
||||||
const relayPort = config.uint("port");
|
const relayPort = config.uint("port");
|
||||||
|
|
||||||
const dht = await getSwarm();
|
const dht = getSwarm();
|
||||||
|
|
||||||
const statusCodeServer = http.createServer(function (req, res) {
|
const statusCodeServer = http.createServer(function (req, res) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
|
|
|
@ -13,13 +13,13 @@ export async function start() {
|
||||||
errorExit("Please set pocket-app-id and pocket-app-key config options.");
|
errorExit("Please set pocket-app-id and pocket-app-key config options.");
|
||||||
}
|
}
|
||||||
|
|
||||||
(await getSwarm()).on("connection", (stream: SecretStream) =>
|
getSwarm().on("connection", (stream: SecretStream) =>
|
||||||
getRpcServer().setup(stream)
|
getRpcServer().setup(stream)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getRpcByPeer(peer: string) {
|
export async function getRpcByPeer(peer: string) {
|
||||||
const swarm = await getSwarm();
|
const swarm = getSwarm();
|
||||||
|
|
||||||
if (swarm._allConnections.has(peer)) {
|
if (swarm._allConnections.has(peer)) {
|
||||||
return swarm._allConnections.get(peer)[RPC_PROTOCOL_SYMBOL];
|
return swarm._allConnections.get(peer)[RPC_PROTOCOL_SYMBOL];
|
||||||
|
|
|
@ -34,7 +34,10 @@ export class RPCCache extends EventEmitter {
|
||||||
constructor(server: RPCServer) {
|
constructor(server: RPCServer) {
|
||||||
super();
|
super();
|
||||||
this.server = server;
|
this.server = server;
|
||||||
this.init();
|
this._swarm = getSwarm();
|
||||||
|
this.dhtCache = new DHTCache(this._swarm, {
|
||||||
|
protocol: "lumeweb.rpccache",
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getNodeQuery(
|
public async getNodeQuery(
|
||||||
|
@ -125,11 +128,4 @@ export class RPCCache extends EventEmitter {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async init() {
|
|
||||||
this.dhtCache = new DHTCache(await getSwarm(), {
|
|
||||||
protocol: "lumeweb.rpccache",
|
|
||||||
});
|
|
||||||
this._swarm = await getSwarm();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ export function getKeyPair() {
|
||||||
return deriveMyskyRootKeypair(seedPhraseToSeed(seed)[0]);
|
return deriveMyskyRootKeypair(seedPhraseToSeed(seed)[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function start() {
|
export async function start() {
|
||||||
const keyPair = getKeyPair();
|
const keyPair = getKeyPair();
|
||||||
|
|
||||||
node = new Hyperswarm({ keyPair, dht: new DHT({ keyPair }) });
|
node = new Hyperswarm({ keyPair, dht: new DHT({ keyPair }) });
|
||||||
|
@ -49,10 +49,6 @@ async function start() {
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function get(): Promise<Hyperswarm> {
|
export function get(): Hyperswarm {
|
||||||
if (!node) {
|
|
||||||
await start();
|
|
||||||
}
|
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue