/*
* call-seq:
*
* io.kgio_read(maxlen) -> buffer
* io.kgio_read(maxlen, buffer) -> buffer
*
* Reads at most maxlen bytes from the stream socket. Returns with a
* newly allocated buffer, or may reuse an existing buffer if supplied.
*
* This may block and call any method defined to +kgio_wait_readable+
* for the class.
*
* Returns nil on EOF.
*
* This behaves like read(2) and IO#readpartial, NOT fread(3) or
* IO#read which possess read-in-full behavior.
*/
static VALUE kgio_read(int argc, VALUE *argv, VALUE io)
{
return my_read(1, argc, argv, io);
}