If memory serves me right, Robert Clove wrote:

> I am a student and looking into the iperf code i cannot find the
> algorithm they used while implementing the code.
> Can someone please elaborate that and where is the starting point of the
> code in iperf3?

That's kind of a complicated answer but I'll take a shot at it.

There is a client side and a server side to any iperf3 measurement.  The
idea is that the server sits around and waits for clients to show up and
request to run a test.

The client first sets up a control connection to the server (this is
always over TCP).  They exchange a few messages to set up the parameters
of the test, after which the test proper starts.  Each test consists of
some of send operations (number, size, and protocol determined by the
client's command-line parameters).  By default the client sends to the
server, but it can be the other way around if the client is passed the
-R/--reverse flag.  After the end of the test there is another exchange
of messages over the control connection, which basically allow the
client to get results from the server.

The implementation is somewhat complicated due to the many different
types of tests that can be run and combinations of test parameters that
interact in various ways.

Feel free to ask if you have any more specific questions.

Bruce.


Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
Iperf-users mailing list
Iperf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to