summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-07[Refactor] Add Stabilizer Interface/PackageWill Hawkins
Add an interface (and an implementation) for a generic stabilizer. This functionality will allow us to easily redefine/experiment with stability algorithms without having to revamp the entire code base all the time.
2022-11-07[Feature] Add more functionality to MathematicalSeriesWill Hawkins
Make it easier to perform other statistical tests and functions on mathematical series.
2022-11-07[Refactor] Make RPM functions dumberWill Hawkins
Make the functions in the rpm package dumber. These functions are now mostly controlled from main in networkQuality.go. That means that they are more RISC-y and can be used in different ways. This flexibility makes them especially useful for crafting the implementation of Rev 3 of the spec.
2022-11-05[Refactor] Rename/update MovingAverage to MathematicalSeriesWill Hawkins
We want the MovingAverage functionality to be more generic and useful than just doing a moving average calculation. The new functionality allows for the calculation of the standard deviation and supports a generic type (so it can be used with integers and floats).
2022-10-14Relicense with GPLv2Will Hawkins
With this commit the project is being relicensed under GPLv2. All contributors to the code prior to this commit have given their explicit approval for the project to be relicensed (see https://github.com/network-quality/goresponsiveness/issues/41).
2022-10-03Merge pull request #37 from network-quality/Enhance-Throughput-LoggingWill Hawkins
[Feature] Extend Throughput Logging
2022-09-30[Feature] Extend Throughput LoggingJeroen Schickendantz
Extends throughput logging to continue even after saturation has been reached by the algorithm.
2022-09-07[Bugfix] Broken extended-stats compilation for macOSWill Hawkins
Sorry everyone!
2022-08-19Merge pull request #36 from network-quality/Enforce-EncodingWill Hawkins
Force No Compression
2022-08-18Force No CompressionJeroen Schickendantz
Force http-compression off by: Sending header "Accept-Encoding: identity" in request. Checking header "Content-Encoding" in response.
2022-08-18Merge pull request #35 from network-quality/TCPInfo-WindowsWill Hawkins
[Feature] Open TCP Info (RTT and Cwnd) access for client
2022-08-18[Feature] Open TCP Info (RTT and Cwnd) to clientJeroen Schickendantz
Allow for new (RTT and Cwnd) logging on windows build
2022-08-17Update code format to meet 80-column requirement.Will Hawkins
2022-08-17Removing (old) experiment data files.Will Hawkins
2022-08-17[Bugfix] Do not unconditionally output message about data loggerWill Hawkins
2022-08-17[Feature] Add TCP information (RTT and Cwnd) to LoggingWill Hawkins
This patch adds support for logging the underlying RTT and Cwnd of the TCP connection used when doing probes. More work to follow in order to add support for this information on Windows and Darwin.
2022-08-17Remove the -strict optionWill Hawkins
We never really implemented it any way!
2022-08-10Fix typos in the license textWill Hawkins
There were several places where boilerplate language was left in the license block at the top of files containing source.
2022-07-29[Feature] Add support for logging throughput measurementsWill Hawkins
With this patch, data logging now supports reporting the moving average of upload/download throughput as saturation is pursued.
2022-07-16[Formatting] Cleanup long lines.Will Hawkins
2022-07-16[Feature] Support spec v2 (4/4); Add data loggingWill Hawkins
Besides work to complete the support for v2 of the RFC, this patch adds support for logging each of the probe results to a CSV file (--logger-filename).
2022-07-02[Feature] Support spec v2 3/nWill Hawkins
2022-07-01[Feature] Support spec v2 2/nWill Hawkins
2022-07-01[Feature] Support spec v2Will Hawkins
This is a WIP for supporting v2 of the RPM spec.
2022-06-29Merge pull request #31 from network-quality/data-analysis-routerWill Hawkins
Cipher comparison on non-AES hardware
2022-06-28Cipher comparison on non-AES hardwareJJ
Compares measurement capabilities (for AES vs CHACHA ciphers) on an older "low-end" router that does not have AES hardware support. More information in README.md
2022-06-22[Cleanup] Make long lines shorter and fix static fmt warningsWill Hawkins
Besides running golines (for the first time in a while now that the tool supports generics), this commit removes punctuation and newlines from Errorf parameters -- something that gofmt does not like (I never knew!).
2022-06-22Merge pull request #30 from network-quality/extended-stats-windowsWill Hawkins
[Feature] Add extendedstats support for Windows
2022-06-22[Feature] Add extendedstats support for WindowsJJ
The added support has similar stats to getTCPInfo for linux. Signed-off-by: Will Hawkins <[email protected]>
2022-06-17[Feature] Use the new GetTCPConnectionInfo API for extended stats on macOSWill Hawkins
Now that there is support for GetTCPConnectionInfo on macOS, we can re-enable extended stats on the macOS platform!
2022-06-17[Feature] Expose send/recv mss, and reorderings in extended statsWill Hawkins
@moeller1 requested additional stats on the *nix platforms. Subsequent patch will enable the same statistics on macOS.
2022-06-15[Bugfix] Compilation error on Windows from missing packageWill Hawkins
In the conditionally compiled code on Windows, there was a missing "fmt" import that broke the build. This patch rectifies that problem.
2022-06-13Merge pull request #25 from network-quality/timeout-patchWill Hawkins
Timeout patch
2022-06-13Merge branch 'main' into timeout-patchJJ
2022-06-13Add optional timeoutsJJ
2022-06-12[Bugfix] Dereference nil when type assertions failed in ↵Will Hawkins
IncorporateConnectionStats Errors as a result of failed type assertions in IncorporateConnectionStats were caught/logged but there was no function-termination control flow associated with these error conditions. As a result, control would continue and cause problems. This patch fixes that.
2022-06-10Merge pull request #22 from richb-hanover/mainWill Hawkins
Update Dockerfile and .gitignore
2022-06-10Merge pull request #24 from acohn/darwin-noextendedstatsWill Hawkins
Disable extendedstats for Darwin builds
2022-06-10update go.mod: golang.org/x/sys is no longer indirectAlex Cohn
2022-06-10Disable extendedstats on darwinAlex Cohn
The Darwin golang.org/x/sys/unix package does not contain a TCPInfo struct, which causes the project not to compile on macOS systems.
2022-06-07Merge branch 'network-quality:main' into mainRich Brown
2022-06-07Add `--rm` option to remove the Docker container after running RPM Test.Rich Brown
(Unused containers accumulate if you don't --rm.)
2022-06-07[Bugfix] Conditional build support broken for WindowsWill Hawkins
Now that we are conditionally building parts of the source code so that we can use *nix's platform support for TCPInfo, it is hard to make sure that I have all platforms working right at the same time. @Schickendantzj helped debug this error this morning.
2022-06-05Update Dockerfile for golang 1.18.3 and alpine 3.16Rich Brown
2022-06-05Merge branch 'network-quality:main' into mainRich Brown
2022-06-05Update Docker base to use golan 1.18.1Rich Brown
2022-06-05[Feature] Add -extended-stats for *nix platformsWill Hawkins
On *nix platforms, there is now a `-extended-stats` option that will print out some extended statistics for the test. The statistics are based on information gleaned from the `TCP_INFO` of the underlying TCP connections. What is implemented so far is just a proof of concept of the extended stats that could be calculated. Depending on what users want, we can add additional extended statistics.
2022-06-04[Feature] Add conditional compilation support for GetTCPInfoWill Hawkins
Now there is functionality for conditionally supporting GetTCPInfo depending on the platform. If the platform supports it, then the client can call utilities.GetTCPInfo. In the case that the platform does not support the GetTCPInfo function call, the result is an error of the type `NotImplemented`.
2022-06-04[Feature] Access TCP_INFO about underlying TCP connectionsWill Hawkins
This will only work on *nix systems. Code that displays information in this PR is only exemplary -- I am sure that there are better places in the code to display it!
2022-06-04[Bugfix #21] Bad alignment of elements in structs accessed atomicallyWill Hawkins
Fixes #21