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

Class BalanceMessageModel

projects/Python/proto/protoex.py:3260–3333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3258
3259# Fast Binary Encoding BalanceMessage model
3260class BalanceMessageModel(fbe.Model):
3261 __slots__ = "_model",
3262
3263 def __init__(self, buffer=None):
3264 super().__init__(buffer)
3265 self._model = FieldModelBalanceMessage(self.buffer, 4)
3266
3267 @property
3268 def model(self):
3269 return self._model
3270
3271 # Get the model size
3272 @property
3273 def fbe_size(self):
3274 return self._model.fbe_size + self._model.fbe_extra
3275
3276 # Get the model type
3277 @property
3278 def fbe_type(self):
3279 return self.TYPE
3280
3281 TYPE = FieldModelBalanceMessage.TYPE
3282
3283 # Check if the struct value is valid
3284 def verify(self):
3285 if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size:
3286 return False
3287
3288 fbe_full_size = self.read_uint32(self._model.fbe_offset - 4)
3289 if fbe_full_size < self._model.fbe_size:
3290 return False
3291
3292 return self._model.verify()
3293
3294 # Create a new model (begin phase)
3295 def create_begin(self):
3296 fbe_begin = self.buffer.allocate(4 + self._model.fbe_size)
3297 return fbe_begin
3298
3299 # Create a new model (end phase)
3300 def create_end(self, fbe_begin):
3301 fbe_end = self.buffer.size
3302 fbe_full_size = fbe_end - fbe_begin
3303 self.write_uint32(self._model.fbe_offset - 4, fbe_full_size)
3304 return fbe_full_size
3305
3306 # Serialize the struct value
3307 def serialize(self, value):
3308 fbe_begin = self.create_begin()
3309 self._model.set(value)
3310 fbe_full_size = self.create_end(fbe_begin)
3311 return fbe_full_size
3312
3313 # Deserialize the struct value
3314 def deserialize(self, value=None):
3315 if value is None:
3316 value = BalanceMessage()
3317

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