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: payload,
            ref: ref,
          ),
        );
    for (final callback in stateChangeCallbacks['message']!) {
      callback(msg);
    }
  });
}