コード例 #1
0
ファイル: drivers.py プロジェクト: alecpm/relstorage
 def gevent_check_read(self, ):
     if gselect([self], (), (), 0)[0]:
         # gselect inserts a call to gevent.sleep() to spin
         # the event loop. If we don't do that, then one connection
         # can monopolize the event loop.
         return True
     return False
コード例 #2
0
    def _reader_loop(self):
        while True:
            rlist, _, _ = gselect([self.socket], [], [])

            if self.socket in rlist:
                data = self._read_data()

                if not data:
                    logger.debug("Connection error (reader).")
                    self.disconnect()
                    return

                self._readbuf += data
                self._read_packets()
コード例 #3
0
ファイル: connection.py プロジェクト: philippj/steam
    def _reader_loop(self):
        while True:
            rlist, _, _ = gselect([self.socket], [], [])

            if self.socket in rlist:
                data = self._read_data()

                if not data:
                    logger.debug("Connection error (reader).")
                    self.disconnect()
                    return

                self._readbuf += data
                self._read_packets()
コード例 #4
0
ファイル: connection.py プロジェクト: atomos/rexpro-python
 def _select(self, rlist, wlist, xlist, timeout=None):
     return gselect(rlist, wlist, xlist, timeout=timeout)
コード例 #5
0
ファイル: connection.py プロジェクト: atomos/rexpro-python
 def _select(self, rlist, wlist, xlist, timeout=None):
     return gselect(rlist, wlist, xlist, timeout=timeout)
コード例 #6
0
ファイル: drivers.py プロジェクト: alecpm/relstorage
 def gevent_check_write(self):
     if gselect((), [self], (), 0)[1]:
         return True
     return False