Exemple #1
0
 def close(self):
     try:
         i = self.get_socket_info()
     except:
         i = self._socket
     log("%s.close() for socket=%s", self, i)
     Connection.close(self)
     self._socket.close()
     self._socket = None
     log("%s.close() done", self)
Exemple #2
0
 def untilConcludes(self, *args):
     try:
         return Connection.untilConcludes(self, *args)
     except websocket.WebSocketConnectionClosedException as e:
         raise ConnectionClosedException(e)
     except websocket.WebSocketTimeoutException as e:
         raise ConnectionClosedException(e)
Exemple #3
0
 def untilConcludes(self, *args):
     try:
         return Connection.untilConcludes(self, *args)
     except error as e:
         code = e[0]
         if code==winerror.ERROR_PIPE_NOT_CONNECTED:
             return None
         raise IOError("%s: %s" % (code, win32api.FormatMessage(code)))
Exemple #4
0
 def __init__(self, name, pipe_handle):
     log("NamedPipeConnection(%s, %#x)", name, pipe_handle)
     Connection.__init__(self, name, "named-pipe")
     self.pipe_handle = pipe_handle
     self.read_buffer = (c_char * BUFSIZE)()
     self.read_buffer_ptr = cast(addressof(self.read_buffer), c_void_p)
     self.read_event = CreateEventA(None, True, False, None)
     self.read_overlapped = OVERLAPPED()
     self.read_overlapped.hEvent = self.read_event
     self.read_overlapped.Internal = None
     self.read_overlapped.InternalHigh = None
     self.read_overlapped.union.Pointer = None
     self.write_event = CreateEventA(None, True, False, None)
     self.write_overlapped = OVERLAPPED()
     self.write_overlapped.hEvent = self.write_event
     self.write_overlapped.Internal = None
     self.write_overlapped.InternalHigh = None
     self.write_overlapped.union.Pointer = None
Exemple #5
0
 def get_info(self):
     d = Connection.get_info(self)
     d["protocol-type"] = "websocket"
     ws = self._socket
     if ws:
         d.update({
             "sub-protocol": ws.getsubprotocol() or "",
             "headers": ws.getheaders() or {},
             "fileno": ws.fileno(),
             "status": ws.getstatus(),
             "connected": ws.connected,
         })
     return d
Exemple #6
0
 def untilConcludes(self, fn, *args, **kwargs):
     try:
         return Connection.untilConcludes(self, fn, *args, **kwargs)
     except Exception as e:
         code = GetLastError()
         log("untilConcludes(%s, ) exception: %s, error code=%s",
             fn,
             e,
             code,
             exc_info=True)
         if code == ERROR_PIPE_NOT_CONNECTED:
             return None
         raise IOError("%s: %s" % (e, code))
Exemple #7
0
 def get_info(self):
     d = Connection.get_info(self)
     d["type"] = "named-pipe"
     d["closed"] = self.pipe_handle is None
     return d
Exemple #8
0
 def get_info(self):
     d = Connection.get_info(self)
     d["type"] = "named-pipe"
     return d
Exemple #9
0
 def __init__(self, *args):
     Connection.__init__(self, *args)
     self.queue = Queue()
Exemple #10
0
 def __init__(self, name, pipe_handle):
     Connection.__init__(self, name, "named-pipe")
     self.pipe_handle = pipe_handle
 def __init__(self, *args):
     Connection.__init__(self, *args)
     self.queue = Queue()
Exemple #12
0
 def get_info(self):
     d = Connection.get_info(self)
     d["type"] = "named-pipe"
     return d
Exemple #13
0
 def untilConcludes(self, *args):
     try:
         return Connection.untilConcludes(self, *args)
     except error as e:
         code = e[0]
         raise IOError("%s: %s" % (code, win32api.FormatMessage(code)))
 def close(self):
     self.queue.put(None)
     Connection.close(self)
Exemple #15
0
 def get_info(self):
     d = Connection.get_info(self)
     d["type"] = "named-pipe"
     d["closed"] = self.pipe_handle is None
     return d
Exemple #16
0
 def __init__(self, read_buffers, socktype="tcp"):
     self.read_buffers = read_buffers
     self.pos = 0
     self.write_data = []
     Connection.__init__(self, "local", socktype, {})
Exemple #17
0
 def __init__(self, ws, target, socktype):
     Connection.__init__(self, target, socktype)
     self._socket = ws
Exemple #18
0
 def close(self):
     self.queue.put(None)
     Connection.close(self)
Exemple #19
0
 def untilConcludes(self, *args):
     try:
         return Connection.untilConcludes(self, *args)
     except error as e:
         code = e[0]
         raise IOError("%s: %s" % (code, win32api.FormatMessage(code)))