getSubscriptionsStatus method

MqttSubscriptionStatus getSubscriptionsStatus(
  1. String topic
)

Gets the current status of a subscription. For a batch subscription the topic is the topic of the first subscription in the batch.

Implementation

MqttSubscriptionStatus getSubscriptionsStatus(String topic) {
  var status = MqttSubscriptionStatus.doesNotExist;

  Subscription sub = subscriptions.values.firstWhere(
    (s) => s.topic.rawTopic == topic,
    orElse: (() => Subscription()..qos = MqttQos.reserved1),
  );
  if (sub.qos != MqttQos.reserved1) {
    status = MqttSubscriptionStatus.active;
  }

  sub = pendingSubscriptions.values.firstWhere(
    (s) => s.topic.rawTopic == topic,
    orElse: (() => Subscription()..qos = MqttQos.reserved1),
  );
  if (sub.qos != MqttQos.reserved1) {
    status = MqttSubscriptionStatus.pending;
  }

  return status;
}