sendRequest method
Sends a request to the client, looking up the request type based on the
runtimeType of arguments
.
Implementation
Future<Object?> sendRequest(RequestArguments arguments) {
final request = Request(
seq: _sequence++,
command: commandTypes[arguments.runtimeType]!,
arguments: arguments,
);
// Store a completer to be used when a response comes back.
final completer = Completer<Object?>();
_serverToClientRequestCompleters[request.seq] = completer;
_channel.sendRequest(request);
return completer.future;
}