observe method

Future<CoapObserveClientRelation> observe(
  1. CoapRequest request, {
  2. int maxRetransmit = 0,
})

Observe

Implementation

Future<CoapObserveClientRelation> observe(
  final CoapRequest request, {
  final int maxRetransmit = 0,
}) async {
  request
    ..observe = ObserveRegistration.register.value
    ..maxRetransmit = maxRetransmit;
  final responseStream = _sendWithStreamResponse(request)
      .asBroadcastStream(onCancel: (final sub) => sub.cancel());
  final relation = CoapObserveClientRelation(request, responseStream);
  final resp = await _waitForResponse(request, responseStream);
  if (!resp.hasOption<ObserveOption>()) {
    relation.isCancelled = true;
  }
  return relation;
}