def send_broks_to_modules(self):
        t00 = time.time()
        nb_sent = 0
        broks = []
        for broker_link in list(self.my_daemon.brokers.values()):
            for brok in broker_link.broks:
                if not getattr(brok, 'sent_to_externals', False):
                    brok.to_send = True
                    broks.append(brok)
        if not broks:
            return
        logger.debug("sending %d broks to modules...", len(broks))
        for mod in self.my_daemon.modules_manager.get_external_instances():
            logger.debug("Look for sending to module %s", mod.get_name())
            module_queue = mod.to_q
            if module_queue:
                to_send = [b for b in broks if mod.want_brok(b)]
                module_queue.put(to_send)
                nb_sent += len(to_send)
        for broker_link in list(self.my_daemon.brokers.values()):
            for brok in broker_link.broks:
                if not getattr(brok, 'sent_to_externals', False):
                    brok.to_send = False
                    brok.sent_to_externals = True
        logger.debug("Time to send %d broks (after %d secs)", nb_sent, time.time() - t00)