webrtc/rtc_tools/network_tester
Byoungchan Lee c931f70896 network_tester: Remove usage of rtc::Thread::socketserver() and cleanup
Instead of creating a TaskQueue from packet_sender, create a rtc::Thread
in test_controller so that test_controller instantiates a SocketServer,
eliminating the use of rtc::Thread::socketserver().
Also did various cleanups, such as adding threading annotations, and
ensuring that all network operations are done in dedicated threads.

Bug: webrtc:13145
Test: Unittest, and manually verified using Android clients and Linux servers
Change-Id: I05ebe5e29bd80f14a193c9ee8b0bf63a1b6b94d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/263321
Commit-Queue: Daniel.l Lee <daniel.l@hpcnt.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37411}
2022-07-03 08:44:52 +00:00
..
androidapp Roll chromium_revision 4d95e6c77b..71a0e1904e (776481:782339) 2020-06-26 05:33:14 +00:00
BUILD.gn network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
config_reader.cc network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
config_reader.h Reland "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely" 2022-01-27 12:55:44 +00:00
create_network_tester_config.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
jni.cc network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
network_tester_config.proto Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
network_tester_packet.proto Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
network_tester_unittest.cc network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
packet_logger.cc Remove webrtc::ProtoString. 2019-02-16 11:11:45 +00:00
packet_logger.h Reland "Remove RTC_DISALLOW_COPY_AND_ASSIGN usages completely" 2022-01-27 12:55:44 +00:00
packet_sender.cc network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
packet_sender.h network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
parse_packet_log.py Reformat python files checked by pylint (part 1/2). 2020-10-30 10:13:11 +00:00
README Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
server.cc network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
test_controller.cc network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00
test_controller.h network_tester: Remove usage of rtc::Thread::socketserver() and cleanup 2022-07-03 08:44:52 +00:00

This file explains how to run the network tester and how to analyze the results.

create config files
===================
use create_network_tester_config.py  to create config files.
you can add or change the AddConfig call in the main function to create a
the desired network config.

run network_tester_server
=========================
place the network config file next to the server binary and name it
"server_config.dat".

the network_tester_server should run on a server with a public IP address.

the log file of network_tester_server will be created next to the binary with
the name "server_packet_log.dat"


run NetworkTesterMobile (apk)
=============================
change the IP and the port in the jni.cpp file and set it to the port and IP
you run the network_tester_server on.

place the network config file as "/mnt/sdcard/network_tester_client_config.dat"
on the tester android phone.

The log file of network_tester_server will be created at
"/mnt/sdcard/network_tester_client_packet_log.dat"


analyze the results
====================
run "python parse_packet_log.py -f <log_file_to_parse>" to analyze the
log results.