示例#1
0
文件: tls.py 项目: alex-stefa/thor
 def __init__(self, sock, tls_config, loop=None):
     EventSource.__init__(self, loop)
     self.sock = sock
     self.tls_config = tls_config
     self.on('error', self._handle_error)
     self.register_fd(self.sock.fileno(), 'writable')
     self.event_add('error')       
示例#2
0
文件: tcp.py 项目: mnot/thor
 def __init__(self, host: bytes, port: int, sock: socket.socket = None, loop: LoopBase = None) -> None:
     EventSource.__init__(self, loop)
     self.host = host
     self.port = port
     self.sock = sock or server_listen(host, port)
     self.on("fd_readable", self.handle_accept)
     self.register_fd(self.sock.fileno(), "fd_readable")
     schedule(0, self.emit, "start")
示例#3
0
文件: tcp.py 项目: alex-stefa/thor
 def __init__(self, host, port, sock=None, loop=None):
     EventSource.__init__(self, loop)
     self.host = host
     self.port = port
     self.sock = sock or server_listen(host, port)
     self.on('readable', self.handle_accept)
     self.register_fd(self.sock.fileno(), 'readable')
     schedule(0, self.emit, 'start')
示例#4
0
文件: udp.py 项目: alex-stefa/thor
 def __init__(self, loop=None):
     EventSource.__init__(self, loop)
     self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     self.sock.setblocking(False)
     self.max_dgram = min((2**16 - 40), self.sock.getsockopt(
         socket.SOL_SOCKET, socket.SO_SNDBUF
     ))
     self.on('readable', self.handle_datagram)
     self.register_fd(self.sock.fileno())
示例#5
0
文件: tcp.py 项目: mnot/thor
 def __init__(self, loop: LoopBase = None) -> None:
     EventSource.__init__(self, loop)
     self.host = None  # type: bytes
     self.port = None  # type: int
     self._timeout_ev = None  # type: ScheduledEvent
     self._error_sent = False
     self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     self.sock.setblocking(False)
     self.on("fd_error", self.handle_conn_error)
     self.register_fd(self.sock.fileno(), "fd_writable")
     self.event_add("fd_error")
示例#6
0
文件: udp.py 项目: mnot/thor
 def __init__(self, loop: LoopBase = None) -> None:
     EventSource.__init__(self, loop)
     self.host = None  # type: bytes
     self.port = None  # type: int
     self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     self.sock.setblocking(False)
     self.max_dgram = min((2**16 - 40), self.sock.getsockopt(
         socket.SOL_SOCKET, socket.SO_SNDBUF
     ))
     self.on('fd_readable', self.handle_datagram)
     self.register_fd(self.sock.fileno())
示例#7
0
文件: tcp.py 项目: alex-stefa/thor
 def __init__(self, loop=None):
     EventSource.__init__(self, loop)
     self.host = None
     self.port = None
     self._timeout_ev = None
     self._error_sent = False
     # TODO: IPV6
     self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     self.sock.setblocking(False)
     self.on('error', self.handle_conn_error)
     self.register_fd(self.sock.fileno(), 'writable')
     self.event_add('error')
示例#8
0
文件: tcp.py 项目: mnot/thor
    def __init__(self, sock: socket.socket, host: bytes, port: int, loop: LoopBase = None) -> None:
        EventSource.__init__(self, loop)
        self.socket = sock
        self.host = host
        self.port = port
        self.tcp_connected = True  # we assume a connected socket
        self._input_paused = True  # we start with input paused
        self._output_paused = False
        self._closing = False
        self._write_buffer = []  # type: list[bytes]

        self.register_fd(sock.fileno())
        self.on("fd_readable", self.handle_readable)
        self.on("fd_writable", self.handle_writable)
        self.on("fd_close", self._handle_close)
示例#9
0
文件: tcp.py 项目: alex-stefa/thor
    def __init__(self, sock, host, port, loop=None):
        EventSource.__init__(self, loop)
        self.socket = sock
        self.host = host
        self.port = port
        self.tcp_connected = True # we assume a connected socket
        self._input_paused = True # we start with input paused
        self._output_paused = False
        self._closing = False
        self._write_buffer = []

        self.register_fd(sock.fileno())
        self.on('readable', self.handle_read)
        self.on('writable', self.handle_write)
        self.on('close', self.handle_close)