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

Class FinalModelBalance

projects/Python/proto/protoex.py:1592–1698  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1590
1591
1592class FinalModelBalance(fbe.FinalModel):
1593 __slots__ = "_parent", "_locked",
1594
1595 def __init__(self, buffer, offset):
1596 super().__init__(buffer, offset)
1597 self._parent = proto.FinalModelBalance(buffer, 0)
1598 self._locked = fbe.FinalModelDouble(buffer, 0)
1599
1600 @property
1601 def parent(self):
1602 return self._parent
1603
1604 @property
1605 def locked(self):
1606 return self._locked
1607
1608 # Get the allocation size
1609 def fbe_allocation_size(self, fbe_value):
1610 fbe_result = 0 \
1611 + self.parent.fbe_allocation_size(fbe_value) \
1612 + self.locked.fbe_allocation_size(fbe_value.locked) \
1613
1614 return fbe_result
1615
1616 # Get the final type
1617 @property
1618 def fbe_type(self):
1619 return self.TYPE
1620
1621 TYPE = proto.FinalModelBalance.TYPE
1622
1623 # Check if the struct value is valid
1624 def verify(self):
1625 self._buffer.shift(self.fbe_offset)
1626 fbe_result = self.verify_fields()
1627 self._buffer.unshift(self.fbe_offset)
1628 return fbe_result
1629
1630 # Check if the struct fields are valid
1631 def verify_fields(self):
1632 fbe_current_offset = 0
1633
1634 self.parent.fbe_offset = fbe_current_offset
1635 fbe_field_size = self.parent.verify_fields()
1636 if fbe_field_size == sys.maxsize:
1637 return sys.maxsize
1638 fbe_current_offset += fbe_field_size
1639
1640 self.locked.fbe_offset = fbe_current_offset
1641 fbe_field_size = self.locked.verify()
1642 if fbe_field_size == sys.maxsize:
1643 return sys.maxsize
1644 fbe_current_offset += fbe_field_size
1645
1646 return fbe_current_offset
1647
1648 # Get the struct value
1649 def get(self, fbe_value=None):

Callers 3

__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected