send method
Future<CoapResponse>
send(
- CoapRequest request, {
- CoapMulticastResponseHandler? onMulticastResponse,
Send
Implementation
Future<CoapResponse> send(
final CoapRequest request, {
final CoapMulticastResponseHandler? onMulticastResponse,
}) async {
await _prepare(request);
if (request.isMulticast) {
if (onMulticastResponse == null) {
throw ArgumentError('Missing onMulticastResponse argument');
}
_eventBus
.on<CoapRespondEvent>()
.where(
(final e) =>
e.resp.token!.equals(request.token!) ||
e.resp.multicastToken!.equals(request.token!),
)
.takeWhile((final _) => !request.isTimedOut && !request.isCancelled)
.listen(
onMulticastResponse.onData,
onError: onMulticastResponse.onError,
onDone: onMulticastResponse.onDone,
cancelOnError: onMulticastResponse.cancelOnError,
);
}
_endpoint!.sendEpRequest(request);
return _waitForResponse(request);
}