home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __all__ = [
- 'Client',
- 'Listener',
- 'Pipe']
- from Queue import Queue
- families = [
- None]
-
- class Listener(object):
-
- def __init__(self, address = None, family = None, backlog = 1):
- self._backlog_queue = Queue(backlog)
-
-
- def accept(self):
- return Connection(*self._backlog_queue.get())
-
-
- def close(self):
- self._backlog_queue = None
-
- address = property((lambda self: self._backlog_queue))
-
-
- def Client(address):
- _in = Queue()
- _out = Queue()
- address.put((_out, _in))
- return Connection(_in, _out)
-
-
- def Pipe(duplex = True):
- a = Queue()
- b = Queue()
- return (Connection(a, b), Connection(b, a))
-
-
- class Connection(object):
-
- def __init__(self, _in, _out):
- self._out = _out
- self._in = _in
- self.send = self.send_bytes = _out.put
- self.recv = self.recv_bytes = _in.get
-
-
- def poll(self, timeout = 0):
- if self._in.qsize() > 0:
- return True
- if timeout <= 0:
- return False
- self._in.not_empty.acquire()
- self._in.not_empty.wait(timeout)
- self._in.not_empty.release()
- return self._in.qsize() > 0
-
-
- def close(self):
- pass
-
-
-