upgrade function
Future<void>
upgrade(
- SqlCrdt crdt,
- HttpRequest request, {
- Duration? pingInterval = defaultPingInterval,
- ServerHandshakeDataBuilder? handshakeDataBuilder,
- Map<
String, Query> ? changesetQueries, - RecordValidator? validateRecord,
- ServerOnConnect? onConnect,
- OnDisconnect? onDisconnect,
- OnChangeset? onChangesetReceived,
- OnChangeset? onChangesetSent,
- bool verbose = false,
Implementation
Future<void> upgrade(
SqlCrdt crdt,
HttpRequest request, {
Duration? pingInterval = defaultPingInterval,
ServerHandshakeDataBuilder? handshakeDataBuilder,
Map<String, Query>? changesetQueries,
RecordValidator? validateRecord,
ServerOnConnect? onConnect,
OnDisconnect? onDisconnect,
OnChangeset? onChangesetReceived,
OnChangeset? onChangesetSent,
bool verbose = false,
}) async {
final webSocket =
IOWebSocketChannel(await WebSocketTransformer.upgrade(request)
..pingInterval = pingInterval);
late final CrdtSync crdtSync;
crdtSync = CrdtSync.server(
crdt,
webSocket,
handshakeDataBuilder: handshakeDataBuilder,
changesetQueries: changesetQueries,
validateRecord: validateRecord,
onConnect: (_, customData) => onConnect?.call(crdtSync, customData),
onDisconnect: onDisconnect,
onChangesetReceived: onChangesetReceived,
onChangesetSent: onChangesetSent,
verbose: verbose,
);
}