예제 #1
0
파일: codec.py 프로젝트: superwhd/pyspinel
    def __init__(self,
                 stream,
                 nodeid,
                 use_hdlc=FEATURE_USE_HDLC,
                 timeout=TIMEOUT_PROP,
                 vendor_module=None):
        self.stream = stream
        self.nodeid = nodeid

        self.timeout = timeout

        self.use_hdlc = use_hdlc
        if self.use_hdlc:
            self.hdlc = Hdlc(self.stream)

        if vendor_module:
            # Hook vendor properties
            try:
                codec = importlib.import_module(vendor_module + '.codec')
                SPINEL_PROP_DISPATCH.update(codec.VENDOR_SPINEL_PROP_DISPATCH)
            except ImportError:
                pass

        # PARSER state
        self.rx_pkt = []
        self.callback = defaultdict(list)  # Map prop_id to list of callbacks.

        # Fire up threads
        self._reader_alive = True
        self.tid_filter = set()
        self.__queue_prop = defaultdict(queue.Queue)  # Map tid to Queue.
        self.queue_register()
        self.__start_reader()
예제 #2
0
 def test_hdlc_encode(self):
     """ Unit test for Hdle.encode method. """
     hdlc = Hdlc(None)
     for in_hex, out_hex in self.VECTOR.iteritems():
         in_binary = binascii.unhexlify(in_hex)
         out_binary = hdlc.encode(in_binary)
         #print "inHex = "+binascii.hexlify(in_binary)
         #print "outHex = "+binascii.hexlify(out_binary)
         self.failUnless(out_hex == binascii.hexlify(out_binary))
예제 #3
0
    def __init__(self, stream, nodeid, use_hdlc=FEATURE_USE_HDLC):
        self.stream = stream
        self.nodeid = nodeid

        self.use_hdlc = use_hdlc
        if self.use_hdlc:
            self.hdlc = Hdlc(self.stream)

        # PARSER state
        self.rx_pkt = []
        self.callback = defaultdict(list)  # Map prop_id to list of callbacks.

        # Fire up threads
        self._reader_alive = True
        self.tid_filter = set()
        self.__queue_prop = defaultdict(Queue.Queue)  # Map tid to Queue.
        self.queue_register()
        self.__start_reader()
예제 #4
0
    def __init__(self, stream, nodeid, use_hdlc=FEATURE_USE_HDLC):

        self.tun_if = None
        self.stream = stream
        self.nodeid = nodeid

        self.use_hdlc = use_hdlc
        if self.use_hdlc:
            self.hdlc = Hdlc(self.stream)

        # PARSER state
        self.rx_pkt = []

        # Fire up threads
        self._reader_alive = True
        self.tid_filter = set()
        self.__queue_prop = defaultdict(Queue.Queue)
        self.queue_register()
        self.__start_reader()