<commit_before>import Queue
import sys
import threading
import time

import addresses
from bmconfigparser import BMConfigParser
from debug import logger
from helper_threading import StoppableThread
from inventory import Inventory
from network.connectionpool import BMConnectionPool
from network.bmproto import BMProto
from queues import receiveDataQueue
import protocol
import state

class ReceiveQueueThread(threading.Thread, StoppableThread):
    def __init__(self):
        threading.Thread.__init__(self, name="ReceiveQueueThread")
        self.initStop()
        self.name = "ReceiveQueueThread"
        logger.info("init receive queue thread")

    def run(self):
        while not self._stopped and state.shutdown == 0:
            try:
                dest = receiveDataQueue.get(block=True, timeout=1)
                receiveDataQueue.task_done()
            except Queue.Empty:
                continue

            if self._stopped:
                break

            # cycle as long as there is data
            # methods should return False if there isn't enough data, or the connection is to be aborted

           # state_* methods should return False if there isn't enough data,
           # or the connection is to be aborted

            try:
                BMConnectionPool().inboundConnections[dest].process()
            except KeyError:
                pass
            except AttributeError:
                logger.error("Unknown state %s, ignoring", connection.state)

            try:
                BMConnectionPool().outboundConnections[dest].process()
            except KeyError:
                pass
            except AttributeError:
                logger.error("Unknown state %s, ignoring", connection.state)

            try:
                BMConnectionPool().udpSockets[dest].process()
            except KeyError:
                pass
            except AttributeError:
                logger.error("Unknown state %s, ignoring", connection.state)<commit_msg>Asyncore update: Fix incoming connections<commit_after>import Queue
import sys
import threading
import time

import addresses
from bmconfigparser import BMConfigParser
from debug import logger
from helper_threading import StoppableThread
from inventory import Inventory
from network.connectionpool import BMConnectionPool
from network.bmproto import BMProto
from queues import receiveDataQueue
import protocol
import state

class ReceiveQueueThread(threading.Thread, StoppableThread):
    def __init__(self):
        threading.Thread.__init__(self, name="ReceiveQueueThread")
        self.initStop()
        self.name = "ReceiveQueueThread"
        logger.info("init receive queue thread")

    def run(self):
        while not self._stopped and state.shutdown == 0:
            try:
                dest = receiveDataQueue.get(block=True, timeout=1)
                receiveDataQueue.task_done()
            except Queue.Empty:
                continue

            if self._stopped:
                break

            # cycle as long as there is data
            # methods should return False if there isn't enough data, or the connection is to be aborted

            # state_* methods should return False if there isn't enough data,
            # or the connection is to be aborted

            try:
                BMConnectionPool().inboundConnections[dest].process()
            except KeyError:
                try:
                    BMConnectionPool().inboundConnections[dest.host].process()
                except KeyError:
                    pass
            except AttributeError:
                pass

            try:
                BMConnectionPool().outboundConnections[dest].process()
            except (KeyError, AttributeError):
                pass

            try:
                BMConnectionPool().udpSockets[dest].process()
            except (KeyError, AttributeError):
                pass
{'fraction_non_alphanumeric': 0.06101608373755425, 'fraction_numerical': 0.0010211896859841716, 'mean_word_length': 2.089905362776025, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1191209', 'n_tokens_mistral': 935, 'n_tokens_neox': 881, 'n_words': 293}