def setUp(self): # initialize cshardmgr test socket ss = socket(AF_INET, SOCK_STREAM) ss.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) ss.bind(('127.0.0.1', TESTING_PORT)) ss.listen(10) ss = ServerSocket(ss) sl = SelectLayer([ss], CounterCollection('dontcare')) class SelectLayerThread(BaseThread): def __init__(self, sl): BaseThread.__init__(self) self.sl = sl def run(self): while not self._terminating: self.sl.select() for channel in self.sl.channels: self.sl.close_channel(channel) self.slt = SelectLayerThread(sl).start()
)) # ===================================================== queue workers omm = OpportunisticMatchMaker(player_database, nsm).start() ac = AlphaCounter(player_database, nsm).start() # ===================================================== EventProcessor ep = EventProcessor(player_database, EPtoSL, SLtoEP, nsm) # ===================================================== StatisticsNotary server_socket = socket(AF_INET, SOCK_STREAM) server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) server_socket.bind((config['stat_not_interface'], config['stat_not_port'])) server_socket.listen(10) server_socket = ServerSocket(server_socket) sn = StatisticsNotary(player_database, server_socket) # ===================================================== Core run option from satella.instrumentation.exctrack import Trackback # ----- designate runner threads class SNThread(BaseThread): def run(self): while not self._terminating: try: sn.select(timeout=10)