Avoid re-opening connections after they're closed

This commit is contained in:
Jon Staab
2024-12-16 15:20:10 -08:00
parent 8825ed4d57
commit 887fbfc25d
9 changed files with 24 additions and 22 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ export class Echo extends Emitter {
return []
}
send(...payload: Message) {
async send(...payload: Message) {
this.emit(...payload)
}
+2 -2
View File
@@ -13,8 +13,8 @@ export class Local extends Emitter {
return []
}
send(...payload: Message) {
this.relay.send(...payload)
async send(...payload: Message) {
await this.relay.send(...payload)
}
onMessage = (...message: Message) => {
+2 -2
View File
@@ -15,8 +15,8 @@ export class Multi extends Emitter {
return this.targets.flatMap(t => t.connections)
}
send(...payload: Message) {
this.targets.forEach(t => t.send(...payload))
async send(...payload: Message) {
await Promise.all(this.targets.map(t => t.send(...payload)))
}
cleanup = () => {
+2 -2
View File
@@ -14,8 +14,8 @@ export class Relay extends Emitter {
return [this.connection]
}
send(...payload: Message) {
this.connection.send(payload)
async send(...payload: Message) {
await this.connection.send(payload)
}
onMessage = (connection: Connection, [verb, ...payload]: Message) => {
+2 -4
View File
@@ -12,10 +12,8 @@ export class Relays extends Emitter {
})
}
send = (...payload: Message) => {
this.connections.forEach(connection => {
connection.send(payload)
})
async send(...payload: Message) {
await Promise.all(this.connections.map(c => c.send(payload)))
}
onMessage = (connection: Connection, [verb, ...payload]: Message) => {