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

Class FieldModelEnumUInt32

projects/Python/proto/enums.py:924–949  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

922
923# Fast Binary Encoding EnumUInt32 field model
924class FieldModelEnumUInt32(fbe.FieldModel):
925 def __init__(self, buffer, offset):
926 super().__init__(buffer, offset)
927
928 # Get the field size
929 @property
930 def fbe_size(self):
931 return 4
932
933 # Get the value
934 def get(self, defaults=None):
935 if defaults is None:
936 defaults = EnumUInt32()
937
938 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
939 return defaults
940
941 return EnumUInt32(self.read_uint32(self.fbe_offset))
942
943 # Set the value
944 def set(self, value):
945 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
946 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
947 return
948
949 self.write_uint32(self.fbe_offset, value)
950
951
952# Fast Binary Encoding EnumUInt32 final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected