SocketPubSub
interfaz
Broker entre hubs. publish se resuelve cuando el broker acepta el mensaje; la entrega a cada
peer suscrito ocurre como mucho una vez y sus fallos nunca llegan al emisor. subscribe se
resuelve cuando el broker ya escucha. Los listeners del hub nunca rechazan.
ts
import type { SocketPubSub } from "@meekojs/meeko/server";Código fuente src/server/socket/runtime.ts:104
Declaración #
ts
interface SocketPubSub {
publish(channel: string, room: string, message: SocketMessage): Promise<void>
subscribe(channel: string, room: string, listener: (message: SocketMessage) => void | Promise<void>): Unsubscribe | Promise<Unsubscribe>
}Ejemplo #
ts
import type { SocketMessage, SocketPubSub } from "@meekojs/meeko/server";
class LoggingPubSub implements SocketPubSub {
constructor(private readonly inner: SocketPubSub) {}
async publish(channel: string, room: string, message: SocketMessage): Promise<void> {
console.info("publish", channel, room, message.event);
await this.inner.publish(channel, room, message);
}
subscribe(channel: string, room: string, listener: (message: SocketMessage) => void | Promise<void>) {
return this.inner.subscribe(channel, room, listener);
}
}Miembros #
publish
#
publish(channel: string, room: string, message: SocketMessage): Promise<void>Publica un mensaje en el par canal/sala; se resuelve cuando el broker lo acepta.
subscribe
#
subscribe(channel: string, room: string, listener: (message: SocketMessage) => void | Promise<void>): Unsubscribe | Promise<Unsubscribe>Escucha el par canal/sala; se resuelve cuando el broker ya escucha.
Véase también #
- Broadcast y varias instancias Framework full-stack