notifyConnectionChanged method
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;
}
}