send method

Future<CoapResponse> send(
  1. CoapRequest request, {
  2. CoapMulticastResponseHandler? onMulticastResponse,
})

Send

Implementation

Future<CoapResponse> send(
  final CoapRequest request, {
  final CoapMulticastResponseHandler? onMulticastResponse,
}) async {
  final responseStream = _sendWithStreamResponse(request)
      .asBroadcastStream(onCancel: (final sub) => sub.cancel());
  if (request.isMulticast) {
    if (onMulticastResponse == null) {
      throw ArgumentError('Missing onMulticastResponse argument');
    }
    responseStream.listen(
      onMulticastResponse.onData,
      onError: onMulticastResponse.onError,
      onDone: onMulticastResponse.onDone,
      cancelOnError: onMulticastResponse.cancelOnError,
    );
  }
  return _waitForResponse(request, responseStream);
}