Esempio n. 1
0
 def connect(self, target):
     if self._connected:
         raise PipeError('already connected')
     self._connect_result = Result()
     try:
         self._handle.connect(target, self.__connect_cb)
     except pyuv.error.PipeError as e:
         raise PipeError(convert_errno(e.args[0]), e.args[1])
     try:
         self._connect_result.wait()
     except PipeError:
         self.close()
         raise
     else:
         self._set_connected()
     finally:
         self._connect_result = None
Esempio n. 2
0
 def connect(self, target, source_address=None):
     if self._connected:
         raise TCPError('already connected')
     # TODO: getaddrinfo
     if source_address:
         try:
             self._handle.bind(source_address)
         except pyuv.error.TCPError as e:
             raise TCPError(e.args[0], e.args[1])
     try:
         self._handle.connect(target, self.__connect_cb)
     except pyuv.error.TCPError as e:
         raise TCPError(e.args[0], e.args[1])
     self._connect_result = Result()
     try:
         self._connect_result.wait()
     except TCPError:
         self.close()
         raise
     else:
         self._set_connected()
     finally:
         self._connect_result = None
Esempio n. 3
0
 def __init__(self, handle):
     super(PipeStream, self).__init__()
     self._handle = handle
     self._read_result = Result()
Esempio n. 4
0
 def __init__(self, fd, readable):
     super(TTYStream, self).__init__()
     loop = evergreen.current.loop
     self._handle = pyuv.TTY(loop._loop, fd, readable)
     self._read_result = Result()
     self._set_connected()