示例#1
0
文件: client.py 项目: yegorich/circus
class CircusClient(_CircusClient):
    def _init_context(self, context):
        self.context = context or Context.instance()

    def _init_poller(self):
        self.poller = Poller()
        self.poller.register(self.socket, POLLIN)
示例#2
0
def device(device_type, isocket, osocket):
    """Start a zeromq device (gevent-compatible).
    
    Unlike the true zmq.device, this does not release the GIL.

    Parameters
    ----------
    device_type : (QUEUE, FORWARDER, STREAMER)
        The type of device to start (ignored).
    isocket : Socket
        The Socket instance for the incoming traffic.
    osocket : Socket
        The Socket instance for the outbound traffic.
    """
    p = Poller()
    if osocket == -1:
        osocket = isocket
    p.register(isocket, zmq.POLLIN)
    p.register(osocket, zmq.POLLIN)

    while True:
        events = dict(p.poll())
        if isocket in events:
            osocket.send_multipart(isocket.recv_multipart())
        if osocket in events:
            isocket.send_multipart(osocket.recv_multipart())
示例#3
0
class CircusConsumer(_CircusConsumer):
    def _init_context(self, context):
        self.context = context or Context()

    def _init_poller(self):
        self.poller = Poller()
        self.poller.register(self.pubsub_socket, POLLIN)
示例#4
0
文件: client.py 项目: yegorich/circus
 def _init_poller(self):
     self.poller = Poller()
     self.poller.register(self.socket, POLLIN)
示例#5
0
 def __init__(self):
     self._poller = Poller()