disconnect method
Disconect from Hasura
Implementation
Future<void> disconnect() async {
if (_disconnectionFlag) {
return;
}
_disconnectionFlag = true;
final keys = List<String>.from(snapmap.keys);
for (final key in keys) {
snapmap[key]?.close();
}
snapmap.clear();
final disconect = {
'type': 'connection_terminate'
};
if (_isConnected) {
sendToWebSocketServer(jsonEncode(disconect));
}
await Future.delayed(const Duration(milliseconds: 300));
if (_connector?.closeCode != null) {
await _connector?.close?.call();
}
await _interceptorExecutor.onDisconnect();
_connector = null;
}