measureSeedRPCServer static method
measureSeedRPCServer measures the latency to seed rpc node list, only select the ones in persist finished state, and sort them by latency (from low to high). If none of the given seed rpc node is accessable or in persist finished state, returned string array will contain zero elements. Timeout is in millisecond.
Implementation
static Future<List<String>?> measureSeedRPCServer(
List<String> seedRPCServerAddr, int? timeout) async {
try {
final Map data =
await _methodChannel.invokeMethod('measureSeedRPCServer', {
'seedRpc': seedRPCServerAddr.isNotEmpty == true
? seedRPCServerAddr
: [DEFAULT_SEED_RPC_SERVER],
'timeout': timeout,
});
List<String> result = [];
(data['seedRPCServerAddrList'] as List?)?.forEach((element) {
if (element is String && element.isNotEmpty) {
result.add(element);
}
});
return result;
} catch (e) {
rethrow;
}
}