def METHOD_NAME(self):
    client = paho.mqtt.client.Client("broker-monitor")
    client.connect("localhost", port=port)
    client.message_callback_add("$SYS/broker/store/messages/count", self.store_count)
    client.message_callback_add("$SYS/broker/store/messages/bytes", self.store_bytes)
    client.message_callback_add("$SYS/broker/publish/messages/dropped", self.publish_dropped)
    client.subscribe("$SYS/broker/store/messages/#")
    client.subscribe("$SYS/broker/publish/messages/dropped")
    while True:
        expect_drops = cq.get()
        self.cq.task_done()
        if expect_drops == "quit":
            break
        first = time.time()
        while self.stored < 0 or self.stored_bytes < 0 or (expect_drops and self.dropped < 0):
            client.loop(timeout=0.5)
            if time.time() - 10 > first:
                print("ABORT TIMEOUT")
                break
        if expect_drops:
            self.rq.put((self.stored, self.stored_bytes, self.dropped))
        else:
            self.rq.put((self.stored, self.stored_bytes, 0))
        self.stored = -1
        self.stored_bytes = -1
        self.dropped = -1
    client.disconnect()