onConnMessage method

void onConnMessage(
  1. String rawMessage
)

Implementation

void onConnMessage(String rawMessage) {
  decode(rawMessage, (msg) {
    final topic = msg['topic'] as String;
    final event = msg['event'] as String;
    final payload = msg['payload'];
    final ref = msg['ref'] as String?;
    if (ref != null && ref == pendingHeartbeatRef) {
      pendingHeartbeatRef = null;
    }

    log(
      'receive',
      "${payload['status'] ?? ''} $topic $event ${ref != null ? '($ref)' : ''}",
      payload,
    );

    channels
        .where((channel) => channel.isMember(topic))
        .forEach((channel) => channel.trigger(
              event,
              payload,
              ref,
            ));
    for (final callback in stateChangeCallbacks['message']!) {
      callback(msg);
    }
  });
}