예제 #1
0
파일: ssl.py 프로젝트: dsully/greenhouse
 def _clone(self):
     clone = object.__new__(SSLSocket)
     clone._sock = self._sock
     clone.keyfile = self.keyfile
     clone.certfile = self.certfile
     clone.cert_reqs = self.cert_reqs
     clone.ssl_version = self.ssl_version
     clone.ca_certs = self.ca_certs
     clone.ciphers = self.ciphers
     clone.do_handshake_on_connect = self.do_handshake_on_connect
     clone.suppress_ragged_eofs = self.suppress_ragged_eofs
     clone._timeout = self._timeout
     clone._blocking = self._blocking
     clone._connected = self._connected
     clone._sslobj = self._sslobj
     clone._readable = util.Event()
     clone._writable = util.Event()
     scheduler._register_fd(clone.fileno(),
         clone._on_readable, clone._on_writable)
     return clone
예제 #2
0
    def _wait_event(self, timeout=None, write=False):
        if write:
            event = self._writable
            onr, onw = None, self._on_writable
        else:
            event = self._readable
            onr, onw = self._on_readable, None

        try:
            reg = scheduler._register_fd(self.fileno(), onr, onw)
        except EnvironmentError, error:
            if error.args[0] in errno.errorcode:
                raise socket.error(*error.args)
            raise
예제 #3
0
파일: ssl.py 프로젝트: PlumpMath/greenhouse
    def _wait_event(self, timeout=None, write=False):
        if write:
            event = self._writable
            onr, onw = None, self._on_writable
        else:
            event = self._readable
            onr, onw = self._on_readable, None

        try:
            reg = scheduler._register_fd(self.fileno(), onr, onw)
        except EnvironmentError, error:
            if error.args[0] in errno.errorcode:
                raise socket.error(*error.args)
            raise
예제 #4
0
파일: ssl.py 프로젝트: dsully/greenhouse
        self.ciphers = ciphers
        self.do_handshake_on_connect = do_handshake_on_connect
        self.suppress_ragged_eofs = suppress_ragged_eofs

        if isinstance(inner, _socket.socket):
            self._timeout = socket.getdefaulttimeout()
        else:
            self._timeout = inner.gettimeout()
        if hasattr(inner, "_blocking"):
            self._blocking = inner._blocking
        else:
            self._blocking = True
        self._readable = util.Event()
        self._writable = util.Event()

        scheduler._register_fd(self.fileno(),
                self._on_readable, self._on_writable)

        if do_handshake_on_connect and self._connected:
            self.do_handshake(self._timeout)

    def _clone(self):
        clone = object.__new__(SSLSocket)
        clone._sock = self._sock
        clone.keyfile = self.keyfile
        clone.certfile = self.certfile
        clone.cert_reqs = self.cert_reqs
        clone.ssl_version = self.ssl_version
        clone.ca_certs = self.ca_certs
        clone.ciphers = self.ciphers
        clone.do_handshake_on_connect = self.do_handshake_on_connect
        clone.suppress_ragged_eofs = self.suppress_ragged_eofs