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

Method set_begin

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

Source from the content-addressed store, hash-verified

1476
1477 # Set the struct value (begin phase)
1478 def set_begin(self):
1479 assert (self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size, "Model is broken!"
1480 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
1481 return 0
1482
1483 fbe_struct_size = self.fbe_body
1484 fbe_struct_offset = self._buffer.allocate(fbe_struct_size) - self._buffer.offset
1485 assert (fbe_struct_offset > 0) and ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) <= self._buffer.size), "Model is broken!"
1486 if (fbe_struct_offset <= 0) or ((self._buffer.offset + fbe_struct_offset + fbe_struct_size) > self._buffer.size):
1487 return 0
1488
1489 self.write_uint32(self.fbe_offset, fbe_struct_offset)
1490 self.write_uint32(fbe_struct_offset, fbe_struct_size)
1491 self.write_uint32(fbe_struct_offset + 4, self.fbe_type)
1492
1493 self._buffer.shift(fbe_struct_offset)
1494 return fbe_struct_offset
1495
1496 # Set the struct value (end phase)
1497 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