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

Method set_begin

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

Source from the content-addressed store, hash-verified

721
722 # Set the struct value (begin phase)
723 def set_begin(self):
724 assert (self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size, "Model is broken!"
725 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
726 return 0
727
728 fbe_struct_size = self.fbe_body
729 fbe_struct_offset = self._buffer.allocate(fbe_struct_size) - self._buffer.offset
730 assert (fbe_struct_offset > 0) and ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) <= self._buffer.size), "Model is broken!"
731 if (fbe_struct_offset <= 0) or ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) > self._buffer.size):
732 return 0
733
734 self.write_uint32(self.fbe_offset, fbe_struct_offset)
735 self.write_uint32(fbe_struct_offset, fbe_struct_size)
736 self.write_uint32(fbe_struct_offset + 4, self.fbe_type)
737
738 self._buffer.shift(fbe_struct_offset)
739 return fbe_struct_offset
740
741 # Set the struct value (end phase)
742 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