* Take rate input as bits/s
* Update README.md
* Fix throttling to be as precise as possible.
* Minor doc fix.
* Update README.md
* Add support for title, improve handshake code.
* Update README.md
* Intermediate checkin
* Last check-in before deleting ACK message in Ethr.
* Support for client port, throttling and tos almost working.
* Most functionality working as expected with code all cleaned up.
* Linux/OSX Fixes.
* Fix handshake mechanism.
* Minor cleanup.
* More improvements for external mode.
* Improve admin-mode, root user permission checking.
* Improve detection of IP version for ICMP.
* Update README.md
* Simpler single port version of Ethr working now.
* More simplification to use single port
* Minor changes
* More fixes to enable single port and no control channel sync.
* Further improve code, merge client & xclient, add conn latency for both, pretty print.
* Intermediate change
* Initial traceRoute is working.
* Cleanup MTR functionality.
* Organize help better and add validations.
* Update README.md
* Update README.md
* Make ICMP ping and traceRoute working.
* Update README.md
Co-authored-by: Pankaj Garg <pankaj@intellectualheaven.com>
* Refactor the command line plotting & management code into a package
* Refactor the stats-gathering code into a new package
* Switch to build flags for non-portable packages/code
Once a tag is created on the repository, a new build would be produced
and automatically released on github. The version of the build is also
set automatically in the binary using -ldflags option.
Initial version of -r for TCP bandwidth tests + few other enhancements:
- Add timestamp in log messages.
- Handle the case where timer tick is delayed on client side. Server side still
needs work.
- Use high value of GOMAXPROCS to fix starvation of some goroutines.
- Support option to disable per connection statistics. If large number
of sessions are used, then per connection stats were making it hard
to read the results on console.
- Synchronize stats timer between client/server. This makes server and
client print similar test results. Earlier, under varying TCP throuhgput,
results in server and client side were different due to different time
periods for calculating throughput.
* Intermediate changes for Connected UDP.
* Add more changes to support connected UDP.
There is an issue with this approach, as multiple sockets are not able
to listen on connected UDP. We need to add SO_REUSEPORT to make this a
viable solution. This would be done in a later commit but before this
change is merged into master.
* Minor code cleanup.
* gofmt
* Use ASCII symbols on CJK console
* text width should be calculated as cell width
* Add offset for x to adjust point to start multi-byte letters
Ethr is a network performance measurement tool. It allows measurements
of bandwidth, latency, packets/s, connections/s for multiple protocols
such as TCP, UDP, HTTP, HTTPS and ICMP.