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

Class FieldModelEnumInt32

projects/Python/proto/enums.py:816–841  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

814
815# Fast Binary Encoding EnumInt32 field model
816class FieldModelEnumInt32(fbe.FieldModel):
817 def __init__(self, buffer, offset):
818 super().__init__(buffer, offset)
819
820 # Get the field size
821 @property
822 def fbe_size(self):
823 return 4
824
825 # Get the value
826 def get(self, defaults=None):
827 if defaults is None:
828 defaults = EnumInt32()
829
830 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
831 return defaults
832
833 return EnumInt32(self.read_int32(self.fbe_offset))
834
835 # Set the value
836 def set(self, value):
837 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
838 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
839 return
840
841 self.write_int32(self.fbe_offset, value)
842
843
844# Fast Binary Encoding EnumInt32 final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected