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

Class FieldModelEnumInt16

projects/Python/proto/enums.py:600–625  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

598
599# Fast Binary Encoding EnumInt16 field model
600class FieldModelEnumInt16(fbe.FieldModel):
601 def __init__(self, buffer, offset):
602 super().__init__(buffer, offset)
603
604 # Get the field size
605 @property
606 def fbe_size(self):
607 return 2
608
609 # Get the value
610 def get(self, defaults=None):
611 if defaults is None:
612 defaults = EnumInt16()
613
614 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
615 return defaults
616
617 return EnumInt16(self.read_int16(self.fbe_offset))
618
619 # Set the value
620 def set(self, value):
621 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
622 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
623 return
624
625 self.write_int16(self.fbe_offset, value)
626
627
628# Fast Binary Encoding EnumInt16 final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected