reconnect method
Implementation
Future reconnect(String? url) async {
// set the uri if url is passed and reconnect
if (!isNullOrEmpty(url)) {
Log().info('SOCKET:: Attempting Reconnect ...');
// set the uri
Uri? uri = Uri.tryParse(url!);
// valid url?
if (uri != null) {
// reconnect
if (connected && this.url != uri.toString()) {
Log().info('SOCKET:: Reconnecting ...');
// disconnect from existing
await disconnect();
// set new uri
this.uri = uri;
// reconnect
await connect(forceReconnect: true);
}
}
// invalid url?
else {
Log().error('SOCKET:: The supplied url => $url is invalid');
// disconnect?
if (connected) await disconnect();
// clear existing uri
this.uri = null;
}
}
}