def wait(self, poller, wait): assert wait in (Stream.W_CONNECT, Stream.W_RECV, Stream.W_SEND) if self.state == Stream.__S_DISCONNECTED: poller.immediate_wake() return if self.state == Stream.__S_CONNECTING: wait = Stream.W_CONNECT if wait == Stream.W_RECV: poller.fd_wait(self.socket, ovs.poller.POLLIN) else: poller.fd_wait(self.socket, ovs.poller.POLLOUT)
def wait(self, poller, wait): assert wait in (Stream.W_CONNECT, Stream.W_RECV, Stream.W_SEND) if self.state == Stream.__S_DISCONNECTED: poller.immediate_wake() return if self.state == Stream.__S_CONNECTING: wait = Stream.W_CONNECT if wait == Stream.W_RECV: poller.fd_wait(self.socket, select.POLLIN) else: poller.fd_wait(self.socket, select.POLLOUT)
def __wait_windows(self, poller, wait): if self.socket is not None: if wait == Stream.W_RECV: read_flags = (win32file.FD_READ | win32file.FD_ACCEPT | win32file.FD_CLOSE) try: win32file.WSAEventSelect(self.socket, self._read.hEvent, read_flags) except pywintypes.error as e: vlog.err("failed to associate events with socket: %s" % e.strerror) poller.fd_wait(self._read.hEvent, ovs.poller.POLLIN) else: write_flags = (win32file.FD_WRITE | win32file.FD_CONNECT | win32file.FD_CLOSE) try: win32file.WSAEventSelect(self.socket, self._write.hEvent, write_flags) except pywintypes.error as e: vlog.err("failed to associate events with socket: %s" % e.strerror) poller.fd_wait(self._write.hEvent, ovs.poller.POLLOUT) else: if wait == Stream.W_RECV: if self._read: poller.fd_wait(self._read.hEvent, ovs.poller.POLLIN) elif wait == Stream.W_SEND: if self._write: poller.fd_wait(self._write.hEvent, ovs.poller.POLLOUT) elif wait == Stream.W_CONNECT: return
def wait(self, poller, wait): assert wait in (Stream.W_CONNECT, Stream.W_RECV, Stream.W_SEND) if self.state == Stream.__S_DISCONNECTED: poller.immediate_wake() return if self.state == Stream.__S_CONNECTING: wait = Stream.W_CONNECT if sys.platform == 'win32': self.__wait_windows(poller, wait) return if wait == Stream.W_RECV: poller.fd_wait(self.socket, ovs.poller.POLLIN) else: poller.fd_wait(self.socket, ovs.poller.POLLOUT)
def wait(self, poller): poller.fd_wait(self.socket, select.POLLIN)
def wait(self, poller): poller.fd_wait(self.socket, ovs.poller.POLLIN)
def wait(self, poller): if sys.platform != 'win32' or self.socket is not None: poller.fd_wait(self.socket, ovs.poller.POLLIN) else: poller.fd_wait(self.connect.hEvent, ovs.poller.POLLIN)
def send_wait(self, poller): if sys.platform == 'win32': poller.fd_wait(self.connect.hEvent, ovs.poller.POLLIN) self.wait(poller, Stream.W_SEND)
def crashprocessing_poll(poller): global watchmanager_inst watch_fd = watchmanager_inst.get_fd() poller.fd_wait(watch_fd, ovs.poller.POLLIN)