def __init__(self, inetResponseCallbackFunc=None, *args): self._target = self.inet_handler self._args = args self.__lock = threading.Lock() self.closing = False # A flag to indicate thread shutdown self.commands = Queue.Queue(32) #self.data_buffer = Queue.Queue(128) self.inet_timeout = 0 self.inetResponseCallbackFunc = inetResponseCallbackFunc self.inetBusy = False self.inetResult = CpInetResult() self.inetToken = "" self.host = CpInetDefs.INET_HOST self.port = CpInetDefs.INET_PORT self.route = CpInetDefs.INET_ROUTE self.sock = None self.remoteIp = None self.initialized = False self.current_state = CpInetState.INITIALIZE self.inetError = CpInetError() self.state_timeout = time.time() self.exponential_backoff = 30 self.log = CpLog() self.state_cb = None self.retries = 1 self.waitRetryBackoff = {1: 5, 2: 15, 3: 30} #self.waitRetryBackoff = {1:1, 2:2, 3:3} # Test timeouts to speed up testing self.stateMaxRetries = 3 self.inet_stats = CpInetStats() self.inet_stats.LastSent = time self.fmap = { 0: self.init_socket, 1: self.inet_idle, 2: self.inet_connect, 3: self.inet_close, 4: self.inet_sleep, 5: self.inet_send, 6: self.inet_waitnetworkinterface } threading.Thread.__init__(self)
def __init__(self, printerThread, inetResponseCallbackFunc=None, *args): self._target = self.inet_handler self._args = args self.__lock = threading.Lock() self.closing = False # A flag to indicate thread shutdown self.commands = Queue.Queue(32) # Commands for this script to handle self.inetResponseCallbackFunc = inetResponseCallbackFunc self.host = CpInetDefs.INET_HOST self.port = CpInetDefs.INET_PORT self.sock = None self.remoteIp = None self.initialized = False self.inet_error = CpInetError() self.log = CpLog() self.printerID = printerThread.printerID self.states = CpPrinterStates(self) self.current_state = self.states.INITIALIZE # Gradually increasing backoff as more errors occur self.waitRetryBackoff = [5, 15, 30, 60] self.inet_stats = CpInetStats() self.inet_stats.LastSent = time self.printer_command_buffer = "" #stores incomplete printer commands #An ack isn't expected until a heartbeat is sent self.heartbeat_ack_pending = False self.last_heartbeat_time = time.time() #Contains pending acks for print commands self.ack_queue = Queue.Queue(128) self.printerThread = printerThread threading.Thread.__init__(self)