HotlineSubscription constructor Null safety

HotlineSubscription(
  1. String identifier,
  2. HotlineSubscriptionManager subscriptionManager,
  3. {required Function onReceived,
  4. required Function onConfirmed,
  5. Function? onUnsubscribed,
  6. Function? onRejected}
)

Implementation

HotlineSubscription(this.identifier, this.subscriptionManager, {required this.onReceived, required this.onConfirmed, this.onUnsubscribed, this.onRejected}) {
  final subscriptionParameters = jsonEncode({'identifier': identifier, 'command': 'subscribe'});

  /// dispatch the subscription
  _sendSubscriptionRequest(subscriptionParameters);
  stateType = HotlineSubscriptionRequestState.subscribing;

  /// if the subscription hasn't been accepted with n milliseconds, assume it's been rejected or the server has gone away
  Future.delayed(Duration(milliseconds: _SUBSCRIPTION_REQUEST_TIMEOUT), () {
    if(state != HotlineSubscriptionRequestState.granted) rejected();
  });
}