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

Method append

scapy/sessions.py:106–131  ·  view source on GitHub ↗
(self, data: bytes, seq: Optional[int] = None)

Source from the content-addressed store, hash-verified

104 self.incomplete = [] # type: List[Tuple[int, int]]
105
106 def append(self, data: bytes, seq: Optional[int] = None) -> None:
107 if not data:
108 return
109 data_len = len(data)
110 if seq is None:
111 seq = self.content_len
112 seq = seq - 1 - self.noff
113 if seq < 0:
114 # Data is located before the start of the current buffer
115 # (e.g. the first fragment was missing)
116 self.content = bytearray(b"\x00" * (-seq)) + self.content
117 self.content_len += (-seq)
118 self.noff += seq
119 seq = 0
120 if seq + data_len > self.content_len:
121 # Data is located after the end of the current buffer
122 self.content += b"\x00" * (seq - self.content_len + data_len)
123 # As data was missing, mark it.
124 # self.incomplete.append((self.content_len, seq))
125 self.content_len = seq + data_len
126 assert len(self.content) == self.content_len
127 # XXX removes empty space marker.
128 # for ifrag in self.incomplete:
129 # if [???]:
130 # self.incomplete.remove([???])
131 memoryview(self.content)[seq:seq + data_len] = data
132
133 def shiftleft(self, i: int) -> None:
134 self.content = self.content[i:]

Callers 15

addfieldMethod · 0.95
__repr__Method · 0.45
registerMethod · 0.45
layersMethod · 0.45
__repr__Method · 0.45
registerMethod · 0.45
__repr__Method · 0.45
add_cacheMethod · 0.45
__init__Method · 0.45
loadMethod · 0.45
multiplotMethod · 0.45
afterglowMethod · 0.45

Calls

no outgoing calls

Tested by 1

__init__Method · 0.36