The components that most commonly limit the throughput of a network stream are shown and described below.
|The writer application contains the writer endpoint. It typically involves a loop, which will call the write node.|
|The write node represents the cost of accepting data from the writer application and transferring it to the writer endpoint.|
|The network stream protocol asynchronously moves data from the writer endpoint to the reader endpoint and sends acknowledgment and flow control messages from the reader endpoint to the writer endpoint.|
|The read node represents the cost of removing data from the reader endpoint and transferring it to the reader application.|
|The reader application contains the reader endpoint. It typically involves a loop, which calls the read node.|
The writer application, network stream protocol, and reader application are all asynchronous processes that run in parallel to each other. The overall stream throughput is dictated by the slowest process. Here, the time to execute the write node is included as part of the writer application, and the time to execute the read node is included as part of the reader application.