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

Class FieldModelEnumUInt16

projects/Python/proto/enums.py:708–733  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

706
707# Fast Binary Encoding EnumUInt16 field model
708class FieldModelEnumUInt16(fbe.FieldModel):
709 def __init__(self, buffer, offset):
710 super().__init__(buffer, offset)
711
712 # Get the field size
713 @property
714 def fbe_size(self):
715 return 2
716
717 # Get the value
718 def get(self, defaults=None):
719 if defaults is None:
720 defaults = EnumUInt16()
721
722 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
723 return defaults
724
725 return EnumUInt16(self.read_uint16(self.fbe_offset))
726
727 # Set the value
728 def set(self, value):
729 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
730 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
731 return
732
733 self.write_uint16(self.fbe_offset, value)
734
735
736# Fast Binary Encoding EnumUInt16 final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected