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

Class AccountMessageModel

projects/Python/proto/protoex.py:3745–3818  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3743
3744# Fast Binary Encoding AccountMessage model
3745class AccountMessageModel(fbe.Model):
3746 __slots__ = "_model",
3747
3748 def __init__(self, buffer=None):
3749 super().__init__(buffer)
3750 self._model = FieldModelAccountMessage(self.buffer, 4)
3751
3752 @property
3753 def model(self):
3754 return self._model
3755
3756 # Get the model size
3757 @property
3758 def fbe_size(self):
3759 return self._model.fbe_size + self._model.fbe_extra
3760
3761 # Get the model type
3762 @property
3763 def fbe_type(self):
3764 return self.TYPE
3765
3766 TYPE = FieldModelAccountMessage.TYPE
3767
3768 # Check if the struct value is valid
3769 def verify(self):
3770 if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size:
3771 return False
3772
3773 fbe_full_size = self.read_uint32(self._model.fbe_offset - 4)
3774 if fbe_full_size < self._model.fbe_size:
3775 return False
3776
3777 return self._model.verify()
3778
3779 # Create a new model (begin phase)
3780 def create_begin(self):
3781 fbe_begin = self.buffer.allocate(4 + self._model.fbe_size)
3782 return fbe_begin
3783
3784 # Create a new model (end phase)
3785 def create_end(self, fbe_begin):
3786 fbe_end = self.buffer.size
3787 fbe_full_size = fbe_end - fbe_begin
3788 self.write_uint32(self._model.fbe_offset - 4, fbe_full_size)
3789 return fbe_full_size
3790
3791 # Serialize the struct value
3792 def serialize(self, value):
3793 fbe_begin = self.create_begin()
3794 self._model.set(value)
3795 fbe_full_size = self.create_end(fbe_begin)
3796 return fbe_full_size
3797
3798 # Deserialize the struct value
3799 def deserialize(self, value=None):
3800 if value is None:
3801 value = AccountMessage()
3802

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