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

Class FieldModelEnumInt8

projects/Python/proto/enums.py:384–409  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

382
383# Fast Binary Encoding EnumInt8 field model
384class FieldModelEnumInt8(fbe.FieldModel):
385 def __init__(self, buffer, offset):
386 super().__init__(buffer, offset)
387
388 # Get the field size
389 @property
390 def fbe_size(self):
391 return 1
392
393 # Get the value
394 def get(self, defaults=None):
395 if defaults is None:
396 defaults = EnumInt8()
397
398 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
399 return defaults
400
401 return EnumInt8(self.read_int8(self.fbe_offset))
402
403 # Set the value
404 def set(self, value):
405 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
406 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
407 return
408
409 self.write_int8(self.fbe_offset, value)
410
411
412# Fast Binary Encoding EnumInt8 final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected