HopResolver typedef

HopResolver = Future<int?> Function(String host)

Hàm trả về số hop tới đích, hoặc null nếu không đo được.

Dart thuần không làm traceroute được (cần raw ICMP socket). Ba cách cắm vào:

  1. Backend: gọi API của bạn, server chạy traceroute/mtr rồi trả số hop.
  2. dart_ping: ICMP reply có TTL, số hop ≈ (128|64) - ttl.
  3. Native plugin tự viết (Android NDK setsockopt IP_TTL / iOS SimplePing).

Để null → bước traceroute hiện trạng thái "không khả dụng" thay vì bịa số.

Implementation

typedef HopResolver = Future<int?> Function(String host);