sendHeartbeat method

void sendHeartbeat()

Implementation

void sendHeartbeat() {
  if (!isConnected()) return;

  if (pendingHeartbeatRef != null) {
    pendingHeartbeatRef = null;
    log(
      'transport',
      'heartbeat timeout. Attempting to re-establish connection',
    );
    conn?.sink.close(Constants.wsCloseNormal, 'heartbeat timeout');
    return;
  }

  pendingHeartbeatRef = makeRef();
  final message = Message(
    topic: 'phoenix',
    event: ChannelEvents.heartbeat,
    payload: {},
    ref: pendingHeartbeatRef,
  );
  push(message);

  setAuth(accessToken);
}