ping method

Future<int> ping(
  1. int port,
  2. String testingUrl
)

Implementation

Future<int> ping(int port, String testingUrl) async {
  final urlPtr = StringUtf8Pointer(testingUrl).toNativeUtf8();
  final ping = _pingPtr.asFunction<_PingDart>();

  try {
    final payload = _getTransferPayload(
      await Isolate.run(() => ping(port, urlPtr)),
    );
    final result = PingResult.fromJson(payload);
    if (result.error != null && result.error!.isNotEmpty) {
      throw TimeoutException(result.error);
    }

    return result.timeout;
  } finally {
    calloc.free(urlPtr);
  }
}