MCPcopy Index your code
hub / github.com/secdev/scapy / _CoAPOpt

Class _CoAPOpt

scapy/contrib/coap.py:120–145  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118
119
120class _CoAPOpt(Packet):
121 fields_desc = [BitField("delta", 0, 4),
122 BitField("len", 0, 4),
123 StrLenField("delta_ext", "", length_from=_get_delta_ext_size), # noqa: E501
124 StrLenField("len_ext", "", length_from=_get_len_ext_size),
125 StrLenField("opt_val", "", length_from=_get_opt_val_size)]
126
127 @staticmethod
128 def _populate_extended(val):
129 if val >= 269:
130 return struct.pack('!H', val - 269), 14
131 if val >= 13:
132 return struct.pack('B', val - 13), 13
133 return None, val
134
135 def do_build(self):
136 self.delta_ext, self.delta = self._populate_extended(self.delta)
137 self.len_ext, self.len = self._populate_extended(len(self.opt_val))
138
139 return Packet.do_build(self)
140
141 def guess_payload_class(self, payload):
142 if payload[:1] != b"\xff":
143 return _CoAPOpt
144 else:
145 return Packet.guess_payload_class(self, payload)
146
147
148class _CoAPOptsField(StrField):

Callers 2

m2iMethod · 0.85
i2mMethod · 0.85

Calls 2

BitFieldClass · 0.90
StrLenFieldClass · 0.90

Tested by

no test coverage detected