Esempio n. 1
0
    def __init__(self,
                 config,
                 state,
                 state_callback,
                 publish_callback,
                 exception_callback=None):
        super(AntelopeOrbParser,
              self).__init__(config, None, state, None, state_callback,
                             publish_callback, exception_callback)

        # NOTE Still need this?
        self.stop = False

        if state is None:
            state = {}
        self._state = state

        orbname = config[ParserConfigKey.ORBNAME]
        select = config[ParserConfigKey.SELECT]
        reject = config[ParserConfigKey.REJECT]

        keys = (ParserConfigKey.SELECT, ParserConfigKey.REJECT)
        if [select, reject] != [state.get(k) for k in keys]:
            log.warning("select/reject changed; resetting tafter to 0")
            state.update({k: config[k] for k in keys})
            state[StateKey.TAFTER] = 0.0

        tafter = state[StateKey.TAFTER]

        self._orbreapthr = OrbReapThr(orbname,
                                      select,
                                      reject,
                                      float(tafter),
                                      timeout=0,
                                      queuesize=100)
        log.info("Connected to ORB %s %s %s %s" %
                 (orbname, select, reject, tafter))