WebSocketClient constructor
WebSocketClient({
- required String url,
- required CRDTDocument document,
- required PeerId author,
- Compressor? compressor,
- List<
ClientSyncPlugin> ? plugins,
Constructor
Implementation
WebSocketClient({
required this.url,
required this.document,
required this.author,
Compressor? compressor,
super.plugins,
}) : _messageController = StreamController<Message>.broadcast(),
_connectionStatusController =
StreamController<ConnectionStatus>.broadcast()
..add(ConnectionStatus.disconnected),
_connectionStatusValue = ConnectionStatus.disconnected {
_syncManager = SyncManager(document: document, client: this);
_messageCodec = CompressedCodec<Message>(
PluginAwareMessageCodec.fromPlugins(
plugins: plugins,
defaultCodec: JsonMessageCodec<Message>(
toJson: (message) => message.toJson(),
fromJson: Message.fromJson,
),
),
compressor: compressor ?? NoCompression.instance,
);
messages.listen(_handleMessage);
}