disconnect method

void disconnect()

Implementation

void disconnect() {
  printDebug('Begin of disconnect()');
  _isTryToReconnect = false;
  if (_socket != null) {
    _socket!.close().then((value) {
      _socket = null;
    }).catchError((err) {
      printDebug(err);
      _socket = null;
    });
  }
  // Cancel ping-pong timer
  if (_pingPeriodicTimer != null) {
    _pingPeriodicTimer!.cancel();
    _pingPeriodicTimer = null;
  }

  // Reset ping-pong flag
  _flagToBeResetAtPongMsg = false;

  serverId = null;
  sessionId = null;
  _connectionStatus.connected = false;
  _connectionStatus.status = DdpConnectionStatusValues.offline;
  _connectionStatus.retryCount = 0;
  _connectionStatus.reason = null;
  _statusStreamController.sink.add(_connectionStatus);
  printDebug('End of disconnect()');
}