---
title: "Référence d'API — @nodefony/realtime — transport"
source: docs/api/realtime/transport.md
url: https://nodefony.github.io/nodefony-core/docs/api/realtime/transport/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/realtime`](../) › transport

> Générée depuis les déclarations de types publiées de `@nodefony/realtime` **10.0.0-beta.6** : 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"` — 2 symboles.

### Classes (1)

#### `WsConnectionTransport`

```ts
class WsConnectionTransport implements IRealtimeTransport, IRealtimeConnProbe
```

- `constructor(conn: RawWsConnection, limits?: { max?: number; policy?: WsBackpressurePolicy; closeAfterDrops?: number; })`
- `connect(): void` — Ouvre le transport (asynchrone — l'ouverture effective est signalée par `onOpen`).
- `send(raw: RealtimeOutboundData): void` — Envoie une frame brute (texte sérialisé ou octets).
- `sendBinary(data: Uint8Array): boolean` — Émet des octets tels quels — trame binaire RFC 6455, hors JSON-RPC (#617).
- `discard(kind: "binary" | "malformed"): number` — Compte une trame ENTRANTE écartée et rend le cumul de sa nature — `1` dit « première », le seul instant où l'appelant journalise.
- `get binaryDiscarded(): number` — Cumul de trames BINAIRES reçues et écartées faute de lecteur — monotone.
- `get malformedDiscarded(): number` — Cumul de trames reçues et écartées parce qu'illisibles par le codec de la connexion — monotone.
- `close(code?: number, reason?: string): void` — Ferme le transport (déclenche `onClose`).
- `get readyState(): number` — État courant (0..3, cf `TransportState`).
- `get bufferedAmount(): number` — Octets en file d'envoi non drainés (`ws.bufferedAmount`) — risque #1.
- `get bytesSent(): number` — Cumul d'octets envoyés sur cette connexion (monotone).
- `get messagesSent(): number` — Cumul de frames envoyées sur cette connexion (monotone).
- `get dropped(): number` — Cumul de frames jetées par back-pressure (drop + close slow-consumer) — monotone.
- `onOpen(): void` — Branche le handler d'ouverture (le owner relance subscribe/heartbeat).
- `onMessage(cb: (raw: RealtimeFrameData) => void): void` — Branche le pump entrant : appelé pour CHAQUE frame brute reçue, texte ou binaire — jamais filtrée ici (cf `RealtimeFrameData`).
- `onClose(cb: (code: number, reason: string) => void): void` — Branche la fermeture (le owner relance le backoff ou nettoie).
- `onError(): void` — Branche les erreurs transport (la fermeture qui suit gère le reconnect).
- `feed(raw: string | Uint8Array): void` — Pump entrant : le pipeline framework pousse ici chaque frame reçue — texte, ou octets d'une connexion qui a négocié un codec binaire (ADR-0022 §2).
- `fireClose(code?: number, reason?: string): void` — Fermeture : appelée par le owner sur `onFinish` (close WS).

### Interfaces (1)

#### `RawWsConnection`

```ts
interface RawWsConnection
```

Connexion ws brute, typée structurellement (évite d'importer le package `ws`). `ctx.connection` (WebsocketContext) la fournit.

- `send(data: string | ArrayBuffer | ArrayBufferView, cb?: (err?: Error) => void): void`
- `close(code?: number, reason?: string): void`
- `readonly readyState: number`
- `readonly bufferedAmount?: number` — Octets en file d'envoi non drainés (`ws.bufferedAmount`).

---

[← Toutes les références d'API](../../)
