'Receive data on the connection. NOTE: If you get one of the WantRead,
WantWrite or WantX509Lookup exceptions on this, you have to call the
method again with the SAME buffer.
:param bufsiz: The maximum number of bytes to read
:param flags: (optional) Included for compatibility with the socket
API, the value is ignored
:return: The string read from the Connection'

def recv(self, bufsiz, flags=None):

    buf = _ffi.new('char[]', bufsiz)
    result = _lib.SSL_read(self._ssl, buf, bufsiz)
    self._raise_ssl_error(self._ssl, result)
    return _ffi.buffer(buf, result)[:]
