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