MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / set_begin

Method set_begin

projects/Python/proto/proto.py:2017–2033  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2015
2016 # Set the struct value (begin phase)
2017 def set_begin(self):
2018 assert (self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size, "Model is broken!"
2019 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
2020 return 0
2021
2022 fbe_struct_size = self.fbe_body
2023 fbe_struct_offset = self._buffer.allocate(fbe_struct_size) - self._buffer.offset
2024 assert (fbe_struct_offset > 0) and ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) <= self._buffer.size), "Model is broken!"
2025 if (fbe_struct_offset <= 0) or ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) > self._buffer.size):
2026 return 0
2027
2028 self.write_uint32(self.fbe_offset, fbe_struct_offset)
2029 self.write_uint32(fbe_struct_offset, fbe_struct_size)
2030 self.write_uint32(fbe_struct_offset + 4, self.fbe_type)
2031
2032 self._buffer.shift(fbe_struct_offset)
2033 return fbe_struct_offset
2034
2035 # Set the struct value (end phase)
2036 def set_end(self, fbe_begin):

Callers 1

setMethod · 0.95

Calls 3

allocateMethod · 0.45
write_uint32Method · 0.45
shiftMethod · 0.45

Tested by

no test coverage detected