notifyConnectionChanged method

void notifyConnectionChanged(
  1. ConnectionStatus conn, {
  2. DisconnectionReason? disconnectionReason,
})

Implementation

void notifyConnectionChanged(ConnectionStatus conn, {DisconnectionReason ? disconnectionReason}) async {
  logger("notifyConnectionChanged: ${conn.toString()}");

  assert(conn != ConnectionStatus.connected || connectionConfiguration.isFromServer, "\"connect\" status is only when connectionConfiguration is received from server");
  if (conn == _connectionStatus) {
    return;
  }
  _connectionStatus = conn;

  for (final OnConnectionChange listener in List.from(_onConnectionWithServerChangeListenersBeforeOthersListeners)) {
    await listener(ConnectionDetails(conn, disconnectionReason));
  }

  for (final OnConnectionChange listener in List.from(_onConnectionWithServerChangeListeners)) {
    listener(ConnectionDetails(conn, disconnectionReason));
  }
  _connectionWithServerChangesStreamController.add(ConnectionDetails(conn, disconnectionReason));
  if (conn==ConnectionStatus.disconnected) {
    this.disconnectionReason = disconnectionReason ?? DisconnectionReason.other;
  }
}