summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-18Format long times.Will Hawkins
2022-03-18Move from hawkinsw repository ownership to Apple repository ownership.Will Hawkins
2022-03-17Merge pull request #7 from richb-hanover/mainWill Hawkins
Add Dockerfile, minor tweaks to format of displayed stats
2022-03-17Add Dockerfile;Rich Brown
Pretty-print output (add banner, only display three sig-figs, etc)
2022-03-16Format: Add a line-length formatting.Will Hawkins
2022-03-16Refactor: Move magic numbers in to a constants module.Will Hawkins
2022-03-16Bugfix: Update README.md to include instructions for modules.Will Hawkins
2022-03-16Bugfix: Commit go.sum for easier buildingWill Hawkins
Resolves Issue #6.
2022-03-16Bugfix: Stop doing load-inducing downloads before RPM calculationWill Hawkins
This fix might be controversial and we will have to confirm it with the protocol designers: We will stop the actual download of the "large" file when we are about to start doing the RPM calculation.
2022-03-16Refactor: Cleanup the RTT calculation functionality.Will Hawkins
2022-03-15Update README.mdWill Hawkins
1. Add information about how to test against the Apple infrastructure 2. Add updated `-help` output (after -ssl-key-file support was added)
2022-03-15Major update: SSL Key Logging, HTTP2 supportWill Hawkins
This is a "How was this ever working?" update. 1. As it turns out, when you customize a Transport for an http.Client, the transport is 'naturally' an HTTP1 transport. To make it connect via HTTP2, you must use an http2.Transport from the golang.org/x/net/http2 package. 2. Add support for logging TLS per-session keys in order to aid debugging.
2022-03-15Add utility function for seeking to the end of a file.Will Hawkins
2022-03-15Add a helper for doing concurrent writes to files.Will Hawkins
2022-03-14Fix typos reported by @richb-hanoverWill Hawkins
2022-03-14Add a license.Will Hawkins
2022-03-14Add README.md and Update go.mod.Will Hawkins
2021-12-28Bugfix: Create new transports for each HTTP connectionWill Hawkins
By default go's network stack "helpfully" reuses the Transports among http.Clients. This will artifically inhibit the full use of the network. Creating new Transports for every http.Client will keep this from happening.
2021-12-18Performance (Try 3): Experiment with preallocating buffers.Will Hawkins
2021-12-18Performance (Take 2): A different attempt at improving perfWill Hawkins
Try intercepting a reader.
2021-12-17Bugfix: Old way of reading downloaded data was slowWill Hawkins
The previous method for reading the download was slow -- it involved too many "context switches" out of library code where the reading was actually happening. This method appears to be better. We'll see.
2021-12-17Feature: Add support for profiling the client.Will Hawkins
2021-12-16Bugfix: Calculation of RPM was off by a factor of 5Will Hawkins
The factor of five being included to account for the fact that a single test accumulated five RTTs was being applied twice. This patch fixes that.
2021-12-16Bugfix: Make sure that debugging output is properly omittedWill Hawkins
In the case where the user omitted the -debug flag the client would still output debugging information regardless. This commit fixes that.
2021-12-16Retype cooldownPeriod Global VariableWill Hawkins
cooldownPeriod should really be a time.Duration. Make it so.
2021-12-16Improve robustnessWill Hawkins
Improve robustness of the client in the case(s) where a network goes away in the middle of the test. Report errors properly in these cases and gracefully end the test.
2021-12-16Bugfix: Incorrect AllSequentialIncreasesLessThan (nee IncreasesLessThan) ↵Will Hawkins
Calculation In AllSequentialIncreasesLessThan (nee IncreasesLessThan), an earlier version of this function did not properly take into account the order in which values were added to the moving average when calculating the percent change. This patch fixes that error and adds an additional criteria for the function to return `true`: there must be *at least* `intervals` collected samples.
2021-12-15More general work.Will Hawkins
2021-12-15Rename MeasurableConnection interface to LoadBearingConnection.Will Hawkins
2021-12-15Refactoring and error handling.Will Hawkins
2021-12-15Basic implementation complete.Will Hawkins
2021-12-14Add sanity checking for configuration.Will Hawkins
2021-12-14Refactoring -- more.Will Hawkins
2021-12-13Intermediate check-in commit. Adding functionality and refactoring.Will Hawkins
2021-12-10More work.Will Hawkins
2021-12-10Initial commit.Will Hawkins