WebSocketRelayClient constructor

WebSocketRelayClient({
  1. required String url,
  2. required CRDTDocument document,
  3. required PeerId author,
  4. Compressor? compressor,
  5. MessageCodec<Message>? messageCodec,
  6. Duration? pingInterval,
  7. Duration? pingTimeout,
  8. Duration? handshakeTimeout,
  9. int? maxBufferSize,
  10. int? maxReconnectAttempts,
  11. Duration? reconnectBaseDelay,
  12. Duration? reconnectMaxDelay,
  13. Duration? reconnectJitter,
  14. List<ClientSyncPlugin>? plugins,
})

RelaySocketClient implementation using web socket.

Reconnects with exponential backoff plus jitter (RelayProtocol.reconnectBaseDelay, doubled per attempt up to RelayProtocol.reconnectMaxDelay) and, unlike WebSocketClient, retries forever by default (maxReconnectAttempts can bound it).

Constructor

Implementation

WebSocketRelayClient({
  required String url,
  required CRDTDocument document,
  required PeerId author,
  Compressor? compressor,
  MessageCodec<Message>? messageCodec,
  Duration? pingInterval,
  Duration? pingTimeout,
  Duration? handshakeTimeout,
  int? maxBufferSize,
  int? maxReconnectAttempts,
  Duration? reconnectBaseDelay,
  Duration? reconnectMaxDelay,
  Duration? reconnectJitter,
  List<ClientSyncPlugin>? plugins,
}) : this._(
        url: url,
        document: document,
        author: author,
        transportFactory: null,
        compressor: compressor,
        messageCodec: messageCodec,
        pingInterval: pingInterval,
        pingTimeout: pingTimeout,
        handshakeTimeout: handshakeTimeout,
        maxBufferSize: maxBufferSize,
        maxReconnectAttempts: maxReconnectAttempts,
        reconnectBaseDelay: reconnectBaseDelay,
        reconnectMaxDelay: reconnectMaxDelay,
        reconnectJitter: reconnectJitter,
        plugins: plugins,
      );