async def METHOD_NAME(self):
    self.poller = zmq.asyncio.Poller()
    self.poller.register(self.pipe, zmq.POLLIN)
    self.poller.register(self.authenticator.zap_socket, zmq.POLLIN)
    self.started.set()
    while True:
        events = dict(await self.poller.poll())
        if self.pipe in events:
            msg = self.pipe.recv_multipart()
            if self._handle_pipe_message(msg):
                return
        if self.authenticator.zap_socket in events:
            msg = self.authenticator.zap_socket.recv_multipart()
            await self.authenticator.handle_zap_message(msg)