def bio_read(self, bufsiz):
if self._from_ssl is None:<EOL><INDENT>raise TypeError("<STR_LIT>")<EOL><DEDENT>if not isinstance(bufsiz, integer_types):<EOL><INDENT>raise TypeError("<STR_LIT>")<EOL><DEDENT>buf = _no_zero_allocator("<STR_LIT>", bufsiz)<EOL>result = _lib.BIO_read(self._from_ssl, buf, bufsiz)<EOL>if result <= <NUM_LIT:0>:<EOL><INDENT>self._handle_bio_errors(self._from_ssl, result)<EOL><DEDENT>return _ffi.buffer(buf, result)[:]<EOL>
If the Connection was created with a memory BIO, this method can be
used to read bytes from the write end of that memory BIO.  Many
Connection methods will add bytes which must be read in this manner or
the buffer will eventually fill up and the Connection will be able to
take no further actions.

:param bufsiz: The maximum number of bytes to read
:return: The string read.