def _parse(self, src_type, dst_type, raw): data = Raw(raw, self.NAME, self.calc_lens(src_type, dst_type)[0]) self.src = SCIONAddr((src_type, data.get())) data.pop(len(self.src)) self.dst = SCIONAddr((dst_type, data.get())) data.pop(len(self.dst)) self.update() if self.src.host.TYPE == AddrType.SVC: raise SCMPBadSrcType("Invalid source type: SVC")
def _parse(self, raw): data = Raw(raw, self.NAME, self.MIN_LEN, min_=True) src_type = data.pop(1) dst_type = data.pop(1) self.src = SCIONAddr((src_type, data.get())) data.pop(len(self.src)) self.dst = SCIONAddr((dst_type, data.get())) data.pop(len(self.dst)) padding_len = len(data) % OpaqueField.LEN self.path = parse_path(data.pop(len(data) - padding_len))
def _check(self, count, start_off, expected): # Setup r = Raw(b"data") r._offset = start_off # Call data = r.get(count) # Tests ntools.eq_(data, expected)
def _parse(self, raw): data = Raw(raw, self.NAME, self.MIN_LEN, min_=True) self._inner_parse(data) self.set_payload(PayloadRaw(data.get()))
def test_bounds_false(self): # Setup r = Raw(b"data") # Call r.get(100, bounds=False)