send<T> method
When you send event, handler can return result if call EventDTO.completer
Implementation
@override
Future? send<T>(T data, {String? path, String? fragment, String? target, Map<String, String>? arguments}) async {
if (_toEBSender != null) {
var c = Completer();
var dto =
EventDTO<T>(data, path: path, fragment: fragment, arguments: arguments, target: target, completer: null);
///We send EventDTO to Isolate and wait return
if (_request.containsKey(dto.hashCode)) {
_request[dto.hashCode]!.add(c);
} else {
_request[dto.hashCode] = [];
_request[dto.hashCode]!.add(c);
}
_toEBSender!.send(dto);
return c.future;
// }
// var node = _map[dto.topic];
// if (node != null && node is EventNode<T>) {
// node._streamController.add(dto);
// return dto.completer?.future;
// }
// _allEventStream.add(dto);
// return null;
// return super.send(data, path, fragment, target, arguments);
}
}