Why do loopback tests of large data transfers sometimes have problems?

NI Serial Hardware and Software

Why do loopback tests of large data transfers sometimes have problems?

In a typical loopback test, an external wrap plug is used to loop back transmit signals to receive signals. In this configuration, data transmitted is read back on the same serial port to test port communication. Loopback programs often perform this data transfer using a single write followed by a single read, and thus rely on driver software and serial hardware buffering to hold the data between the two function calls. However, these buffers are of finite size, and thus any data transfer that exceeds the buffer size either times out, blocks (due to flow control), or drops data. This behavior is a result of the test design and does not represent a hardware or driver error. Buffer sizes vary between operating systems and hardware, but typically range from 4–8 KB in size.