Skip to content

Commit

Permalink
fix bug & add support for indefinitely running iperf3
Browse files Browse the repository at this point in the history
  • Loading branch information
hajoha committed Jul 23, 2024
1 parent 9f517e8 commit 75097b3
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ public void executeIperfCommand(View view) {



if (spg.getSharedPreference(SPType.iperf3_sp).getBoolean("enable_influx", false) && input.iperf3Json) {
if (spg.getSharedPreference(SPType.logging_sp).getBoolean("enable_influx", false) && input.iperf3Json) {
iperf3WM.beginWith(iperf3WR).then(iperf3LP).then(iperf3UP).enqueue();
} else if(input.iperf3Json) {
iperf3WM.beginWith(iperf3WR).then(iperf3LP).enqueue();
Expand Down Expand Up @@ -507,10 +507,12 @@ public void executeIperfCommand(View view) {
} else if (iperf3_result != 0) {
progressIndicator.setIndicatorColor(failedColors);
progressbarHandler.postDelayed(progressbarUpdate, SHOW_PROGRESSBAR);

} else {
progressIndicator.setIndicatorColor(succesColors);
progressbarHandler.postDelayed(progressbarUpdate, SHOW_PROGRESSBAR);
}

});
iperf3WM.getWorkInfoByIdLiveData(iperf3UP.getId()).observeForever(workInfo -> {
boolean iperf3_upload;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
Expand Down Expand Up @@ -78,6 +80,34 @@ public void onRightClicked(int position) {
iperf3WM.cancelAllWorkByTag(uid);
Iperf3RunResultDao iperf3RunResultDao = Iperf3ResultsDataBase.getDatabase(requireContext()).iperf3RunResultDao();
Iperf3RunResult runResult = iperf3RunResultDao.getRunResult(uid);


Data.Builder iperf3Data = new Data.Builder();

iperf3Data.putString("rawIperf3file", runResult.input.iperf3rawIperf3file);
iperf3Data.putString("iperf3LineProtocolFile", runResult.input.iperf3LineProtocolFile);
iperf3Data.putString("measurementName", runResult.input.measurementName);
iperf3Data.putString("ip", runResult.input.iperf3IP);
iperf3Data.putString("port", runResult.input.iperf3Port);
iperf3Data.putString("bandwidth", runResult.input.iperf3Bandwidth);
iperf3Data.putString("duration", runResult.input.iperf3Duration);
iperf3Data.putString("interval", runResult.input.iperf3Interval);
iperf3Data.putString("bytes", runResult.input.iperf3Bytes);
iperf3Data.putString("protocol", Iperf3Utils.getProtocolString(runResult.input.iperf3IdxProtocol));
iperf3Data.putBoolean("rev", runResult.input.iperf3Reverse);
iperf3Data.putBoolean("biDir", runResult.input.iperf3BiDir);
iperf3Data.putBoolean("oneOff", runResult.input.iperf3OneOff);
iperf3Data.putString("client", Iperf3Utils.getModeString(runResult.input.iperf3IdxMode));
iperf3Data.putString("timestamp", runResult.input.timestamp.toString());

OneTimeWorkRequest iperf3LP =
new OneTimeWorkRequest
.Builder(Iperf3ToLineProtocolWorker.class)
.setInputData(iperf3Data.build())
.build();
iperf3WM.enqueue(iperf3LP);


if(runResult.result != 0)
iperf3RunResultDao.updateResult(uid, 1);
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,12 @@ public void onClick(View view) {

Data.Builder data = new Data.Builder();
data.putString("iperf3LineProtocolFile", runResult.input.iperf3LineProtocolFile);

OneTimeWorkRequest iperf3UP =
new OneTimeWorkRequest.Builder(Iperf3UploadWorker.class)
.setInputData(data.build())
.addTag("iperf3_upload")
.build();

uploads.add(iperf3UP);
iperf3WM.getWorkInfoByIdLiveData(iperf3UP.getId()).observeForever(workInfo -> {
boolean iperf3_upload;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ private void setup(){


public Map<String, String> getTagsMap() {
String tags = spg.getSharedPreference(SPType.iperf3_sp).getString("tags", "").strip().replace(" ", "");
String tags = spg.getSharedPreference(SPType.logging_sp).getString("tags", "").strip().replace(" ", "");
Map<String, String> tags_map = Collections.emptyMap();
if (!tags.isEmpty()) {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,36 @@ public static Drawable getDrawableResult(Context context, int iperf3RunResult) {
return drawable;
}

public static String getProtocolString(int protocol) {
String protocolString;
switch (protocol) {
case 0:
protocolString = "TCP";
break;
case 1:
protocolString = "UDP";
break;
default:
protocolString = "Unknown";
break;
}
return protocolString;
}

public static String getModeString(int mode) {
String modeString;
switch (mode) {
case 0:
modeString = "Client";
break;
case 1:
modeString = "Server";
break;
default:
modeString = "Unknown";
break;
}
return modeString;
}

}

0 comments on commit 75097b3

Please sign in to comment.