Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)