Example #1
0
    def __init__(self):
        logging.basicConfig(
            filename='SIB.log',
            format=
            '%(asctime)s | %(process)d | %(processName)s | %(levelname)s | %(module)s | %(funcName)s | %(message)s',
            level=logging.DEBUG)

        #shared objects for inter-process communication
        #TODO: WTH is there so much shared state?
        self.raw_in_queue = Queue()
        self.json_call_queue = Queue()
        self.json_out_queue = Queue()
        self.manager = Manager()
        self.json_response_dict = self.manager.dict()
        #self.listen_sockets = self.manager.list()
        self.new_sockets = Queue()
        self.congest_sent_queue = Queue()
        self.congest_recv_queue = Queue()
        self.congest_connect_state = self.manager.dict()

        self.ss = SocketServer()
        #self.ss.listen_sockets = self.listen_sockets
        self.ss.new_sockets = self.new_sockets
        self.ss.raw_in_queue = self.raw_in_queue

        self.pp = PacketPrePostprocessor()
        self.pp.raw_in_queue = self.raw_in_queue
        self.pp.json_queue = self.json_call_queue
        self.pp.json_response_dict = self.json_response_dict
        self.pp.json_out_queue = self.json_out_queue
        self.pp.congest_sent_queue = self.congest_sent_queue
        self.pp.congest_recv_queue = self.congest_recv_queue

        self.js = JSONServer()
        self.js.json_call_queue = self.json_call_queue
        self.js.json_response_dict = self.json_response_dict
        self.js.json_out_queue = self.json_out_queue
        self.js.congest_connect_state = self.congest_connect_state

        self.congest = CongestionManager()
        self.congest.shared_sent_queue = self.congest_sent_queue
        self.congest.shared_recv_queue = self.congest_recv_queue
        self.congest.connect_summary = self.congest_connect_state