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

Method set_begin

projects/Python/proto/protoex.py:796–812  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

794
795 # Set the struct value (begin phase)
796 def set_begin(self):
797 assert (self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size, "Model is broken!"
798 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
799 return 0
800
801 fbe_struct_size = self.fbe_body
802 fbe_struct_offset = self._buffer.allocate(fbe_struct_size) - self._buffer.offset
803 assert (fbe_struct_offset > 0) and ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) <= self._buffer.size), "Model is broken!"
804 if (fbe_struct_offset <= 0) or ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) > self._buffer.size):
805 return 0
806
807 self.write_uint32(self.fbe_offset, fbe_struct_offset)
808 self.write_uint32(fbe_struct_offset, fbe_struct_size)
809 self.write_uint32(fbe_struct_offset + 4, self.fbe_type)
810
811 self._buffer.shift(fbe_struct_offset)
812 return fbe_struct_offset
813
814 # Set the struct value (end phase)
815 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