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

Class BalanceMessageFinalModel

projects/Python/proto/proto.py:3307–3372  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3305
3306# Fast Binary Encoding BalanceMessage final model
3307class BalanceMessageFinalModel(fbe.Model):
3308 __slots__ = "_model",
3309
3310 def __init__(self, buffer=None):
3311 super().__init__(buffer)
3312 self._model = FinalModelBalanceMessage(self.buffer, 8)
3313
3314 # Get the model type
3315 @property
3316 def fbe_type(self):
3317 return self.TYPE
3318
3319 TYPE = FinalModelBalanceMessage.TYPE
3320
3321 # Check if the struct value is valid
3322 def verify(self):
3323 if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size:
3324 return False
3325
3326 fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8)
3327 fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4)
3328 if (fbe_struct_size <= 0) or (fbe_struct_type != self.fbe_type):
3329 return False
3330
3331 return (8 + self._model.verify()) == fbe_struct_size
3332
3333 # Serialize the struct value
3334 def serialize(self, value):
3335 fbe_initial_size = self.buffer.size
3336
3337 fbe_struct_type = self.fbe_type
3338 fbe_struct_size = 8 + self._model.fbe_allocation_size(value)
3339 fbe_struct_offset = self.buffer.allocate(fbe_struct_size) - self.buffer.offset
3340 assert ((self.buffer.offset + fbe_struct_offset + fbe_struct_size) <= self.buffer.size), "Model is broken!"
3341 if (self.buffer.offset + fbe_struct_offset + fbe_struct_size) > self.buffer.size:
3342 return 0
3343
3344 fbe_struct_size = 8 + self._model.set(value)
3345 self.buffer.resize(fbe_initial_size + fbe_struct_size)
3346
3347 self.write_uint32(self._model.fbe_offset - 8, fbe_struct_size)
3348 self.write_uint32(self._model.fbe_offset - 4, fbe_struct_type)
3349
3350 return fbe_struct_size
3351
3352 # Deserialize the struct value
3353 def deserialize(self, value=None):
3354 if value is None:
3355 value = BalanceMessage()
3356
3357 assert ((self.buffer.offset + self._model.fbe_offset) <= self.buffer.size), "Model is broken!"
3358 if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size:
3359 return BalanceMessage(), 0
3360
3361 fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8)
3362 fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4)
3363 assert ((fbe_struct_size > 0) and (fbe_struct_type == self.fbe_type)), "Model is broken!"
3364 if (fbe_struct_size <= 0) or (fbe_struct_type != self.fbe_type):

Callers 2

__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected