Nodefony 10.0.0-beta.5
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — @nodefony/realtime — interfaces

stable

Documentation › Référence d’API › @nodefony/realtime › interfaces

Générée depuis les déclarations de types publiées de @nodefony/realtime 10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

@nodefony/realtime#

import { … } from "@nodefony/realtime" — 20 symboles.

Interfaces (17)#

IBackplane#

interface IBackplane

Contrat d’un backplane realtime. Implémentation stateless du point de vue métier (l’état des canaux vit dans le hub) ; le backplane ne porte que le transport vers les pairs + son identité.

IBackplaneInfo#

interface IBackplaneInfo

Carte d’identité d’un backplane — descripteur de DONNÉE (pas un log) décrivant l’état du fond de panier. Source unique alimentant trois sorties cohérentes : la ligne stdout au boot, le champ backplane de la sonde (/api/health) et la vue Studio. Réutilisable par les tests / un agent IA sans dupliquer la connaissance « c’est quoi ce backplane ».

IBackplaneMessage#

interface IBackplaneMessage

Message transporté entre pairs par le backplane. Sérialisé une fois à l’émission (IPC structuredClone / Redis JSON) ; le payload doit donc être structurellement clonable / sérialisable (pas de fonction, pas de cycle).

IChannelPolicy#

interface IChannelPolicy

Politique d’autorisation d’un canal WebSocket — exigences à satisfaire pour s’y abonner (subscribe) ou y pousser (canal inbound full-duplex).

IClientLogsLimits#

interface IClientLogsLimits

Bornes de la réception des journaux remontés par un navigateur.

ICompiledRealtimeMatcher#

interface ICompiledRealtimeMatcher

Forme compilée d’un matcher — utilisé en interne par le hub (cache de la RegExp compilée + host lowercase). Pas destiné à l’API publique.

IRealtimeAuthenticator#

interface IRealtimeAuthenticator

Stratégie d’authentification au handshake WebSocket — équivalent realtime du pattern IAuthenticator côté HTTP de @nodefony/security.

IRealtimeAuthenticatorMatcher#

interface IRealtimeAuthenticatorMatcher

Sélecteur d’une zone WS protégée — équivalent realtime de ISecuredArea côté HTTP de @nodefony/security (pattern URL + vhost optionnel).

IRealtimeChannelStat#

interface IRealtimeChannelStat

Stat per-canal du hub (fan-out).

IRealtimeClusterHealth#

interface IRealtimeClusterHealth

Vue POD agrégée de la socket (Phase 4c, mode cluster) — la santé de TOUS les workers du pod consolidée. Servie par n’importe quel worker via l’endpoint santé quand le master pousse le snapshot agrégé (sinon on retombe sur IRealtimeHealth per-instance).

IRealtimeConnProbe#

interface IRealtimeConnProbe

Vue d’UNE connexion realtime pour la sonde (backpressure = risque #1).

IRealtimeConnectionState#

interface IRealtimeConnectionState

État du protocole temps réel d’UNE connexion WebSocket — posé au welcome, et relu à chaque frame jusqu’à la fermeture.

IRealtimeController#

interface IRealtimeController

IRealtimeController — contrat d’un contrôleur temps réel SERVEUR (endpoint WS JSON-RPC 2.0). Le protocole (discrimination, dispatch, actions, pending, pub/sub, cleanup) est porté par RealtimeController via un JsonRpcPeer PAR connexion ; le contrôleur concret ne fournit QUE ses providers de canaux.

IRealtimeHandshake#

interface IRealtimeHandshake

Données de handshake WebSocket — DTO minimal passé à un IRealtimeAuthenticator pour qu’il extraie un credential et valide l’identité, SANS coupler ce module à @nodefony/http runtime.

IRealtimeHealth#

interface IRealtimeHealth extends IRealtimeProbe

Snapshot enrichi de l’identité d’instance — santé per-instance d’un worker/pod.

IRealtimeProbe#

interface IRealtimeProbe

Snapshot PUR du hub (sans identité process) — ce que renvoie RealtimeHub.probe. Per-instance/pod (cloud-native) ; l’agrégat multi-pod = backplane Redis / Prometheus (P13).

IRealtimeToken#

interface IRealtimeToken

Jeton realtime — surface MINIMALE de l’identité d’une connexion WebSocket.

Types (3)#

BackplaneHandler#

type BackplaneHandler = (msg: IBackplaneMessage) => void

Handler d’ingress : reçoit un message publié par un autre pair. L’echo du pair courant a déjà été filtré par l’implémentation → le handler peut réinjecter sans condition (mais en fan-out local only).

RealtimeInboundHandler#

type RealtimeInboundHandler = (params: unknown, reply: (payload: unknown) => void) => void

Handler d’un message ENTRANT sur un canal full-duplex (client → serveur). C’est le seam des backings entrants (SIP, bridge) : le client publish(channel, payload) ; si le contrôleur a déclaré ce canal dans realtimeInbound(), le handler est appelé.

RealtimePublish#

type RealtimePublish = (channel: string, payload: unknown) => void

Publie une charge sur un canal (notification serveur→client).


← Toutes les références d’API