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

Class BalanceMessageModel

projects/Python/proto/proto.py:3143–3216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3141
3142# Fast Binary Encoding BalanceMessage model
3143class BalanceMessageModel(fbe.Model):
3144 __slots__ = "_model",
3145
3146 def __init__(self, buffer=None):
3147 super().__init__(buffer)
3148 self._model = FieldModelBalanceMessage(self.buffer, 4)
3149
3150 @property
3151 def model(self):
3152 return self._model
3153
3154 # Get the model size
3155 @property
3156 def fbe_size(self):
3157 return self._model.fbe_size + self._model.fbe_extra
3158
3159 # Get the model type
3160 @property
3161 def fbe_type(self):
3162 return self.TYPE
3163
3164 TYPE = FieldModelBalanceMessage.TYPE
3165
3166 # Check if the struct value is valid
3167 def verify(self):
3168 if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size:
3169 return False
3170
3171 fbe_full_size = self.read_uint32(self._model.fbe_offset - 4)
3172 if fbe_full_size < self._model.fbe_size:
3173 return False
3174
3175 return self._model.verify()
3176
3177 # Create a new model (begin phase)
3178 def create_begin(self):
3179 fbe_begin = self.buffer.allocate(4 + self._model.fbe_size)
3180 return fbe_begin
3181
3182 # Create a new model (end phase)
3183 def create_end(self, fbe_begin):
3184 fbe_end = self.buffer.size
3185 fbe_full_size = fbe_end - fbe_begin
3186 self.write_uint32(self._model.fbe_offset - 4, fbe_full_size)
3187 return fbe_full_size
3188
3189 # Serialize the struct value
3190 def serialize(self, value):
3191 fbe_begin = self.create_begin()
3192 self._model.set(value)
3193 fbe_full_size = self.create_end(fbe_begin)
3194 return fbe_full_size
3195
3196 # Deserialize the struct value
3197 def deserialize(self, value=None):
3198 if value is None:
3199 value = BalanceMessage()
3200

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