void sendMessageWithResponse (OutgoingMessage message, Completer completer)
void sendMessageWithResponse( OutgoingMessage message, Completer<dynamic> completer) { if (!_reader.isBound) { proxyError(FidlStateException( 'AsyncProxyController<${$interfaceName}> is closed.')); return; } const int _userspaceTxidMask = 0x7FFFFFFF; int txid = _nextTxid++ & _userspaceTxidMask; while (txid == 0 || _completerMap.containsKey(txid)) txid = _nextTxid++ & _userspaceTxidMask; message.txid = txid; _completerMap[message.txid] = completer; final int status = _reader.channel!.writeEtc(message.data, message.handleDispositions); if (status != ZX.OK) { proxyError(FidlError( 'AsyncProxyController<${$interfaceName}> failed to write to channel: ${_reader.channel} (status: $status)')); return; } }