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

Class FieldModelEnumUInt8

projects/Python/proto/enums.py:492–517  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

490
491# Fast Binary Encoding EnumUInt8 field model
492class FieldModelEnumUInt8(fbe.FieldModel):
493 def __init__(self, buffer, offset):
494 super().__init__(buffer, offset)
495
496 # Get the field size
497 @property
498 def fbe_size(self):
499 return 1
500
501 # Get the value
502 def get(self, defaults=None):
503 if defaults is None:
504 defaults = EnumUInt8()
505
506 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
507 return defaults
508
509 return EnumUInt8(self.read_uint8(self.fbe_offset))
510
511 # Set the value
512 def set(self, value):
513 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
514 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
515 return
516
517 self.write_uint8(self.fbe_offset, value)
518
519
520# Fast Binary Encoding EnumUInt8 final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected