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

Class FieldModelState

projects/Python/proto/proto.py:304–329  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

302
303# Fast Binary Encoding State field model
304class FieldModelState(fbe.FieldModel):
305 def __init__(self, buffer, offset):
306 super().__init__(buffer, offset)
307
308 # Get the field size
309 @property
310 def fbe_size(self):
311 return 1
312
313 # Get the value
314 def get(self, defaults=None):
315 if defaults is None:
316 defaults = State()
317
318 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
319 return defaults
320
321 return State(self.read_byte(self.fbe_offset))
322
323 # Set the value
324 def set(self, value):
325 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
326 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
327 return
328
329 self.write_byte(self.fbe_offset, value)
330
331
332# Fast Binary Encoding State final model

Callers 1

__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected