void listen(dynamic callback(ValueUpdate update), int qos)

Source

void listen(callback(ValueUpdate update), int qos) {
  if (qos < 0 || qos > 3) {
    qos = 0;
  }
  bool qosChanged = false;

  if (callbacks.containsKey(callback)) {
    callbacks[callback] = qos;
    qosChanged = updateQos();
  } else {
    callbacks[callback] = qos;
    if (qos > currentQos) {
      qosChanged = true;
      currentQos = qos;
    }
    if (_lastUpdate != null) {
      callback(_lastUpdate);
    }
  }

  if (qosChanged) {
    requester._subscription.addSubscription(this, currentQos);
  }
}