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

Class AccountMessageModel

projects/Python/proto/proto.py:3628–3701  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3626
3627# Fast Binary Encoding AccountMessage model
3628class AccountMessageModel(fbe.Model):
3629 __slots__ = "_model",
3630
3631 def __init__(self, buffer=None):
3632 super().__init__(buffer)
3633 self._model = FieldModelAccountMessage(self.buffer, 4)
3634
3635 @property
3636 def model(self):
3637 return self._model
3638
3639 # Get the model size
3640 @property
3641 def fbe_size(self):
3642 return self._model.fbe_size + self._model.fbe_extra
3643
3644 # Get the model type
3645 @property
3646 def fbe_type(self):
3647 return self.TYPE
3648
3649 TYPE = FieldModelAccountMessage.TYPE
3650
3651 # Check if the struct value is valid
3652 def verify(self):
3653 if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size:
3654 return False
3655
3656 fbe_full_size = self.read_uint32(self._model.fbe_offset - 4)
3657 if fbe_full_size < self._model.fbe_size:
3658 return False
3659
3660 return self._model.verify()
3661
3662 # Create a new model (begin phase)
3663 def create_begin(self):
3664 fbe_begin = self.buffer.allocate(4 + self._model.fbe_size)
3665 return fbe_begin
3666
3667 # Create a new model (end phase)
3668 def create_end(self, fbe_begin):
3669 fbe_end = self.buffer.size
3670 fbe_full_size = fbe_end - fbe_begin
3671 self.write_uint32(self._model.fbe_offset - 4, fbe_full_size)
3672 return fbe_full_size
3673
3674 # Serialize the struct value
3675 def serialize(self, value):
3676 fbe_begin = self.create_begin()
3677 self._model.set(value)
3678 fbe_full_size = self.create_end(fbe_begin)
3679 return fbe_full_size
3680
3681 # Deserialize the struct value
3682 def deserialize(self, value=None):
3683 if value is None:
3684 value = AccountMessage()
3685

Callers 4

cloneMethod · 0.70
__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected