From 50271fad44ca7ec3a1628fe32999d7c4b5213306 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sun, 9 Apr 2023 00:50:14 -0400 Subject: [PATCH] * Add '@lumeweb/libkernel-universal' as dependency and make socket.ts asynchronous using 'maybeGetAsyncProperty'. --- package.json | 1 + src/socket.ts | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6346f8e..d81c9b1 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "@libp2p/utils": "^3.0.7", "@lumeweb/kernel-protomux-client": "git+https://git.lumeweb.com/LumeWeb/kernel-protomux-client.git", "@lumeweb/kernel-swarm-client": "git+https://git.lumeweb.com/LumeWeb/kernel-swarm-client.git", + "@lumeweb/libkernel-universal": "git+https://git.lumeweb.com/LumeWeb/libkernel-universal.git", "@multiformats/mafmt": "^11.1.2", "@peculiar/webcrypto": "git+https://git.lumeweb.com/LumeWeb/webcrypto.git", "b4a": "^1.6.3", diff --git a/src/socket.ts b/src/socket.ts index eaa1987..000e450 100644 --- a/src/socket.ts +++ b/src/socket.ts @@ -3,6 +3,7 @@ import { TcpSocketConnectOpts } from "net"; import { PeerEntity, SocketRequest, WriteSocketRequest } from "./types.js"; import PeerManager from "./peerManager.js"; import { clearTimeout } from "timers"; +import { maybeGetAsyncProperty } from "@lumeweb/libkernel-universal"; const asyncIterator = Symbol.asyncIterator || Symbol("asyncIterator"); @@ -50,8 +51,8 @@ export class Socket extends Duplex { return this._peer; } - public _write(data: any, cb: any): void { - this._peer.messages.writeSocket?.send({ + public async _write(data: any, cb: any): Promise { + (await maybeGetAsyncProperty(this._peer.messages.writeSocket))?.send({ id: this._id, remoteId: this._remoteId, data, @@ -59,8 +60,8 @@ export class Socket extends Duplex { cb(); } - public _destroy(cb: Callback) { - this._peer.messages.closeSocket?.send({ + public async _destroy(cb: Callback) { + (await maybeGetAsyncProperty(this._peer.messages.closeSocket))?.send({ id: this._id, remoteId: this._remoteId, } as SocketRequest); @@ -68,8 +69,8 @@ export class Socket extends Duplex { this._manager.sockets.delete(this._id); } - public connect() { - this._peer.messages.openSocket?.send({ + public async connect() { + (await maybeGetAsyncProperty(this._peer.messages.openSocket))?.send({ ...this._options, id: this._id, });