| 174 | |
| 175 | # Fast Binary Encoding OrderType final model |
| 176 | class FinalModelOrderType(fbe.FinalModel): |
| 177 | def __init__(self, buffer, offset): |
| 178 | super().__init__(buffer, offset) |
| 179 | |
| 180 | # Get the allocation size |
| 181 | # noinspection PyUnusedLocal |
| 182 | def fbe_allocation_size(self, value): |
| 183 | return self.fbe_size |
| 184 | |
| 185 | # Get the final size |
| 186 | @property |
| 187 | def fbe_size(self): |
| 188 | return 1 |
| 189 | |
| 190 | # Check if the value is valid |
| 191 | def verify(self): |
| 192 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 193 | return sys.maxsize |
| 194 | |
| 195 | return self.fbe_size |
| 196 | |
| 197 | # Get the value |
| 198 | def get(self): |
| 199 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 200 | return OrderType(), 0 |
| 201 | |
| 202 | return OrderType(self.read_byte(self.fbe_offset)), self.fbe_size |
| 203 | |
| 204 | # Set the value |
| 205 | def set(self, value): |
| 206 | assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!" |
| 207 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 208 | return 0 |
| 209 | |
| 210 | self.write_byte(self.fbe_offset, value) |
| 211 | return self.fbe_size |
| 212 | |
| 213 | |
| 214 | class State(enum.IntFlag, metaclass=fbe.DefaultEnumMeta): |