Read the number of bytes requested, compensating for partial
reads.
Normally, we have a blocking socket, but a read() can be interrupted
by a signal (resulting in a partial read).
Note that we cannot distinguish between EOF and an interrupt when zero
bytes have been read. IncompleteRead() will be raised in this
situation.
This function should be used when <amt> bytes "should"
be present for reading. If the bytes are truly not available (due to
EOF), then the IncompleteRead exception can be used to detect the
problem.
|