send method
Implementation
Future<dynamic>? send(
String method, {
Map<String, dynamic> params: const {},
bool hasResult: false,
}) {
final _id = _internalId++;
Map<String, dynamic> dict = <String, dynamic>{};
dict["method"] = method;
dict["id"] = _id;
dict['jsonrpc'] = '2.0';
dict["params"] = params;
String jsonString = json.encode(dict);
_channel.sink.add(jsonString);
if (!hasResult) return null;
final completer = Completer<Map<String, dynamic>>();
_completers[_id] = completer;
return completer.future.timeout(Duration(seconds: 10), onTimeout: () {
if (_completers.containsKey(_id)) _completers.remove(_id);
return Future.error({"code": 1, "message": "Rpc time out"});
});
}