d551f41b41
- Switch from bundled iperf3 binary (Process.start) to JNI compilation - iperf3 3.21 source API was incompatible (start_time, iperf_strerror, etc.) - iperf3 3.19 source is proven to work (used by CellularLab) - CMakeLists.txt updated: config.h generated into cpp/iperf/ for correct include paths - iperf_jni.c fixed for 3.19 API (no start_time on iperf_test) - getTestProgress() returns g_test->duration as fallback (no real-time elapsed tracking yet) - NDK CMake pinned to 3.22.1 - UI layer updated: removed Iperf3BinaryPathProvider references - Tests updated: TestRunViewModelTest matches new service interface - pubspec.yaml: removed iperf3 assets bundle, added http dependency - AndroidManifest: INTERNET permission (needed for hostname resolution)
10 lines
538 B
Dart
10 lines
538 B
Dart
// This file is kept as a stub — iperf3 is now compiled as a native
|
|
// shared library (libiperf3jni.so) via JNI.
|
|
// The old binary-path-provider pattern (extract ELF from assets → chmod → execve)
|
|
// was replaced by the JNI approach after SELinux blocked binary execution.
|
|
// See .hermes/plans/ for details on the migration.
|
|
|
|
// The Iperf3Service now uses MethodChannel to communicate with Kotlin/JNI:
|
|
// Dart → MethodChannel → Kotlin → JNI → iperf3 (same process)
|
|
// No file extraction, no chmod, no Process.start needed.
|