ClientSession constructor

ClientSession({
  1. required String id,
  2. required TransportConnection connection,
  3. required CRDTServerRegistry serverRegistry,
  4. Compressor? compressor,
})

Constructor

Implementation

ClientSession({
  required this.id,
  required TransportConnection connection,
  required CRDTServerRegistry serverRegistry,
  Compressor? compressor,
})  : _connection = connection,
      _serverRegistry = serverRegistry,
      _sessionEventController = StreamController<SessionEvent>.broadcast(),
      _messageCodec = CompressedCodec<Message>(
        JsonMessageCodec<Message>(
          toJson: (message) => message.toJson(),
          fromJson: Message.fromJson,
        ),
        compressor: compressor ?? NoCompression.instance,
      ) {
  _connection.incoming.listen(
    _handleData,
    onError: _handleConnectionError,
    onDone: _handleConnectionClosed,
  );

  _startHeartbeatMonitoring();
}