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

Class FinalModelEnumSimple

projects/Python/proto/test.py:90–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

88
89# Fast Binary Encoding EnumSimple final model
90class FinalModelEnumSimple(fbe.FinalModel):
91 def __init__(self, buffer, offset):
92 super().__init__(buffer, offset)
93
94 # Get the allocation size
95 # noinspection PyUnusedLocal
96 def fbe_allocation_size(self, value):
97 return self.fbe_size
98
99 # Get the final size
100 @property
101 def fbe_size(self):
102 return 4
103
104 # Check if the value is valid
105 def verify(self):
106 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
107 return sys.maxsize
108
109 return self.fbe_size
110
111 # Get the value
112 def get(self):
113 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
114 return EnumSimple(), 0
115
116 return EnumSimple(self.read_int32(self.fbe_offset)), self.fbe_size
117
118 # Set the value
119 def set(self, value):
120 assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!"
121 if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size:
122 return 0
123
124 self.write_int32(self.fbe_offset, value)
125 return self.fbe_size
126
127
128class EnumTyped(enum.IntEnum, metaclass=fbe.DefaultEnumMeta):

Callers 7

__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by 7

__init__Method · 0.56
__init__Method · 0.56
__init__Method · 0.56
__init__Method · 0.56
__init__Method · 0.56
__init__Method · 0.56
__init__Method · 0.56