WebSocketRelayClient.test constructor

WebSocketRelayClient.test({
  1. required String url,
  2. required CRDTDocument document,
  3. required PeerId author,
  4. required Transport transportFactory(),
  5. Compressor? compressor,
  6. MessageCodec<Message>? messageCodec,
  7. Duration? pingInterval,
  8. Duration? pingTimeout,
  9. Duration? handshakeTimeout,
  10. int? maxBufferSize,
  11. int? maxReconnectAttempts,
  12. Duration? reconnectBaseDelay,
  13. Duration? reconnectMaxDelay,
  14. Duration? reconnectJitter,
  15. Random? random,
  16. 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 for testing

Implementation

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