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

Class FieldModelEnumTyped

projects/Python/proto/test.py:169–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

167
168# Fast Binary Encoding EnumTyped field model
169class FieldModelEnumTyped(fbe.FieldModel):
170 def __init__(self, buffer, offset):
171 super().__init__(buffer, offset)
172
173 # Get the field size
174 @property
175 def fbe_size(self):
176 return 1
177
178 # Get the value
179 def get(self, defaults=None):
180 if defaults is None:
181 defaults = EnumTyped()
182
183 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
184 return defaults
185
186 return EnumTyped(self.read_uint8(self.fbe_offset))
187
188 # Set the value
189 def set(self, value):
190 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
191 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
192 return
193
194 self.write_uint8(self.fbe_offset, value)
195
196
197# Fast Binary Encoding EnumTyped final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by 1

__init__Method · 0.56