def parse_forward_action(self, b7, b6, s): if b7: raise ParseError("bit 7 is RFU") interface_id = InterfaceType(int(s.read("uint:8"))) assert(interface_id == InterfaceType.D7ASP) interface_config = Configuration.parse(s) return ForwardAction(resp=b6, operation=Forward(operand=InterfaceConfiguration(interface_id=interface_id, interface_configuration=interface_config)))
def parse_forward_action(self, b7, b6, s): if b7: raise ParseError("bit 7 is RFU") interface_id = InterfaceType(int(s.read("uint:8"))) assert(interface_id == InterfaceType.D7ASP) interface_config = Configuration.parse(s) return ForwardAction(resp=b6, operation=Forward(operand=InterfaceConfiguration(interface_id=interface_id, interface_configuration=interface_config)))
def test_parse(self): bytes = [0b00000000, 0, 0b00010000, 0] config = Configuration.parse(ConstBitStream(bytes=bytes)) self.assertEqual(config.qos.resp_mod, ResponseMode.RESP_MODE_NO) self.assertEqual(config.qos.retry_mod, RetryMode.RETRY_MODE_NO) self.assertEqual(config.qos.stop_on_err, False) self.assertEqual(config.qos.record, False) self.assertEqual(config.addressee.id_type, IdType.NOID) self.assertEqual(config.addressee.nls_method, NlsMethod.NONE) self.assertEqual(config.addressee.access_class, 0)
def parse_forward_action(self, b7, b6, s): if b7: raise ParseError("bit 7 is RFU") interface_id = InterfaceType(int(s.read("uint:8"))) interface_config = None if (interface_id == InterfaceType.D7ASP): interface_config = Configuration.parse(s) elif (interface_id == InterfaceType.SERIAL): pass # no interface config else: assert (False) return ForwardAction(resp=b6, operation=Forward(operand=InterfaceConfiguration( interface_id=interface_id, interface_configuration=interface_config)))
def test_parse(self): bytes = [ 0b00000000, 0, 0b00010000, 0 ] config = Configuration.parse(ConstBitStream(bytes=bytes)) self.assertEqual(config.qos.resp_mod, ResponseMode.RESP_MODE_NO) self.assertEqual(config.qos.nls, False) self.assertEqual(config.qos.stop_on_err, False) self.assertEqual(config.qos.record, False) self.assertEqual(config.addressee.id_type, IdType.NOID) self.assertEqual(config.addressee.nls_method, NlsMethod.NONE) self.assertEqual(config.addressee.access_class, 0)