%PDF- %PDF-
Direktori : /lib64/python2.7/site-packages/tornado/ |
Current File : //lib64/python2.7/site-packages/tornado/tcpserver.pyo |
� ��L]c @� s d Z d d l m Z m Z m Z m Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z m Z d d l m Z m Z m Z d d l m Z d d l m Z y d d l Z Wn e k r� d Z n Xd e f d � � YZ d S( s+ A non-blocking, single-threaded TCP server.i ( t absolute_importt divisiont print_functiont with_statementN( t app_log( t IOLoop( t IOStreamt SSLIOStream( t bind_socketst add_accept_handlert ssl_wrap_socket( t process( t errno_from_exceptiont TCPServerc B� s} e Z d Z d d d d d � Z d d � Z d � Z d � Z d e j d d � Z d d � Z d � Z d � Z d � Z RS( s� A non-blocking, single-threaded TCP server. To use `TCPServer`, define a subclass which overrides the `handle_stream` method. To make this server serve SSL traffic, send the ``ssl_options`` keyword argument with an `ssl.SSLContext` object. For compatibility with older versions of Python ``ssl_options`` may also be a dictionary of keyword arguments for the `ssl.wrap_socket` method.:: ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ssl_ctx.load_cert_chain(os.path.join(data_dir, "mydomain.crt"), os.path.join(data_dir, "mydomain.key")) TCPServer(ssl_options=ssl_ctx) `TCPServer` initialization follows one of three patterns: 1. `listen`: simple single-process:: server = TCPServer() server.listen(8888) IOLoop.current().start() 2. `bind`/`start`: simple multi-process:: server = TCPServer() server.bind(8888) server.start(0) # Forks multiple sub-processes IOLoop.current().start() When using this interface, an `.IOLoop` must *not* be passed to the `TCPServer` constructor. `start` will always start the server on the default singleton `.IOLoop`. 3. `add_sockets`: advanced multi-process:: sockets = bind_sockets(8888) tornado.process.fork_processes(0) server = TCPServer() server.add_sockets(sockets) IOLoop.current().start() The `add_sockets` interface is more complicated, but it can be used with `tornado.process.fork_processes` to give you more flexibility in when the fork happens. `add_sockets` can also be used in single-process servers if you want to create your listening sockets in some way other than `~tornado.netutil.bind_sockets`. .. versionadded:: 3.1 The ``max_buffer_size`` argument. c C� s� | | _ | | _ i | _ g | _ t | _ | | _ | | _ | j d k r� t | j t � r� d | j k r~ t d � � n t j j | j d � s� t d | j d � � n d | j k r� t j j | j d � r� t d | j d � � q� n d S( Nt certfiles% missing key "certfile" in ssl_optionss certfile "%s" does not existt keyfiles keyfile "%s" does not exist( t io_loopt ssl_optionst _socketst _pending_socketst Falset _startedt max_buffer_sizet read_chunk_sizet Nonet isinstancet dictt KeyErrort ost patht existst ValueError( t selfR R R R ( ( s7 /usr/lib64/python2.7/site-packages/tornado/tcpserver.pyt __init__Z s"