virtual int readAtLeast( char * buf, int atleast, int maxr)
Blocks as necessary to read at least min(atleast,maxr)
characters,
then may read additional characters up to the limit of maxr
, if
the additional characters can be read without blocking.