Subclasses must implement `fileno`, `close_fd`, `write_to_fd`,
`read_from_fd`, and optionally `get_fd_error`.
"""
- def __init__(self, io_loop=None, max_buffer_size=104857600,
+ def __init__(self, io_loop=None, max_buffer_size=None,
read_chunk_size=4096):
self.io_loop = io_loop or ioloop.IOLoop.current()
- self.max_buffer_size = max_buffer_size
+ self.max_buffer_size = 104857600 or max_buffer_size
self.read_chunk_size = read_chunk_size
self.error = None
self._read_buffer = collections.deque()
your listening sockets in some way other than
`~tornado.netutil.bind_sockets`.
"""
- def __init__(self, io_loop=None, ssl_options=None):
+ def __init__(self, io_loop=None, ssl_options=None, max_buffer_size=None):
self.io_loop = io_loop
self.ssl_options = ssl_options
self._sockets = {} # fd -> socket object
self._pending_sockets = []
self._started = False
+ self.max_buffer_size = max_buffer_size
# Verify the SSL options. Otherwise we don't get errors until clients
# connect. This doesn't verify that the keys are legitimate, but
raise
try:
if self.ssl_options is not None:
- stream = SSLIOStream(connection, io_loop=self.io_loop)
+ stream = SSLIOStream(connection, io_loop=self.io_loop, max_buffer_size=self.max_buffer_size)
else:
- stream = IOStream(connection, io_loop=self.io_loop)
+ stream = IOStream(connection, io_loop=self.io_loop, max_buffer_size=self.max_buffer_size)
self.handle_stream(stream, address)
except Exception:
app_log.error("Error in connection callback", exc_info=True)