Esempio n. 1
0
 def send(self, data, flags=0, timeout=timeout_default):
     if timeout is timeout_default:
         timeout = self.timeout
     if self._sslobj:
         if flags != 0:
             raise ValueError(
                 "non-zero flags not allowed in calls to send() on %s" %
                 self.__class__)
         while True:
             try:
                 v = self._sslobj.write(data)
             except SSLError, x:
                 if x.args[0] == SSL_ERROR_WANT_READ:
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     sys.exc_clear()
                     try:
                         wait_read(self.fileno(), timeout=timeout, event=self._read_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return 0
                         raise
                 elif x.args[0] == SSL_ERROR_WANT_WRITE:
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     sys.exc_clear()
                     try:
                         wait_write(self.fileno(), timeout=timeout, event=self._write_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return 0
                         raise
Esempio n. 2
0
 def recv_into(self, buffer, nbytes=None, flags=0):
     if buffer and (nbytes is None):
         nbytes = len(buffer)
     elif nbytes is None:
         nbytes = 1024
     if self._sslobj:
         if flags != 0:
             raise ValueError(
               "non-zero flags not allowed in calls to recv_into() on %s" %
               self.__class__)
         while True:
             try:
                 tmp_buffer = self.read(nbytes)
                 v = len(tmp_buffer)
                 buffer[:v] = tmp_buffer
                 return v
             except SSLError, x:
                 if x.args[0] == SSL_ERROR_WANT_READ:
                     sys.exc_clear()
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     try:
                         wait_read(self.fileno(), timeout=self.timeout, event=self._read_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return 0
                         raise
                     continue
                 else:
                     raise
Esempio n. 3
0
 def recv_into(self, buffer, nbytes=None, flags=0):
     if buffer and (nbytes is None):
         nbytes = len(buffer)
     elif nbytes is None:
         nbytes = 1024
     if self._sslobj:
         if flags != 0:
             raise ValueError(
                 "non-zero flags not allowed in calls to recv_into() on %s"
                 % self.__class__)
         while True:
             try:
                 tmp_buffer = self.read(nbytes)
                 v = len(tmp_buffer)
                 buffer[:v] = tmp_buffer
                 return v
             except SSLError, x:
                 if x.args[0] == SSL_ERROR_WANT_READ:
                     sys.exc_clear()
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     try:
                         wait_read(self.fileno(),
                                   timeout=self.timeout,
                                   event=self._read_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return 0
                         raise
                     continue
                 else:
                     raise
Esempio n. 4
0
 def recv(self, buflen=1024, flags=0):
     if self._sslobj:
         if flags != 0:
             raise ValueError(
                 "non-zero flags not allowed in calls to recv() on %s" %
                 self.__class__)
         while True:
             try:
                 return self.read(buflen)
             except SSLError, x:
                 if x.args[0] == SSL_ERROR_WANT_READ:
                     sys.exc_clear()
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     try:
                         wait_read(self.fileno(),
                                   timeout=self.timeout,
                                   event=self._read_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return ''
                         raise
                     continue
                 else:
                     raise
Esempio n. 5
0
 def send(self, data, flags=0, timeout=timeout_default):
     if timeout is timeout_default:
         timeout = self.timeout
     while True:
         try:
             return self._sock.send(data, flags)
         except SSL.WantWriteError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_write(self.fileno(), timeout=timeout)
         except SSL.WantReadError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_read(self.fileno(), timeout=timeout)
Esempio n. 6
0
 def send(self, data, flags=0, timeout=timeout_default):
     if timeout is timeout_default:
         timeout = self.timeout
     while True:
         try:
             return self._sock.send(data, flags)
         except SSL.WantWriteError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_write(self.fileno(), timeout=timeout)
         except SSL.WantReadError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_read(self.fileno(), timeout=timeout)
Esempio n. 7
0
 def recv(self, buflen):
     pending = self._sock.pending()
     if pending:
         return self._sock.recv(min(pending, buflen))
     while True:
         try:
             return self._sock.recv(buflen)
         except SSL.WantReadError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_read(self.fileno(), timeout=self.timeout)
         except SSL.WantWriteError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_read(self.fileno(), timeout=self.timeout)
Esempio n. 8
0
 def recv(self, buflen):
     pending = self._sock.pending()
     if pending:
         return self._sock.recv(min(pending, buflen))
     while True:
         try:
             return self._sock.recv(buflen)
         except SSL.WantReadError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_read(self.fileno(), timeout=self.timeout)
         except SSL.WantWriteError, ex:
             if self.timeout == 0.0:
                 raise timeout(str(ex))
             else:
                 sys.exc_clear()
                 wait_read(self.fileno(), timeout=self.timeout)
Esempio n. 9
0
 def send(self, data, flags=0, timeout=timeout_default):
     if timeout is timeout_default:
         timeout = self.timeout
     if self._sslobj:
         if flags != 0:
             raise ValueError(
                 "non-zero flags not allowed in calls to send() on %s" %
                 self.__class__)
         while True:
             try:
                 v = self._sslobj.write(data)
             except SSLError, x:
                 if x.args[0] == SSL_ERROR_WANT_READ:
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     sys.exc_clear()
                     try:
                         wait_read(self.fileno(),
                                   timeout=timeout,
                                   event=self._read_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return 0
                         raise
                 elif x.args[0] == SSL_ERROR_WANT_WRITE:
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     sys.exc_clear()
                     try:
                         wait_write(self.fileno(),
                                    timeout=timeout,
                                    event=self._write_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return 0
                         raise
Esempio n. 10
0
 def recv(self, buflen=1024, flags=0):
     if self._sslobj:
         if flags != 0:
             raise ValueError(
                 "non-zero flags not allowed in calls to recv() on %s" %
                 self.__class__)
         while True:
             try:
                 return self.read(buflen)
             except SSLError, x:
                 if x.args[0] == SSL_ERROR_WANT_READ:
                     sys.exc_clear()
                     if self.timeout == 0.0:
                         raise timeout(str(x))
                     try:
                         wait_read(self.fileno(), timeout=self.timeout, event=self._read_event)
                     except socket_error, ex:
                         if ex[0] == EBADF:
                             return ''
                         raise
                     continue
                 else:
                     raise