| 75 | |
| 76 | # Fast Binary Encoding OrderSide final model |
| 77 | class FinalModelOrderSide(fbe.FinalModel): |
| 78 | def __init__(self, buffer, offset): |
| 79 | super().__init__(buffer, offset) |
| 80 | |
| 81 | # Get the allocation size |
| 82 | # noinspection PyUnusedLocal |
| 83 | def fbe_allocation_size(self, value): |
| 84 | return self.fbe_size |
| 85 | |
| 86 | # Get the final size |
| 87 | @property |
| 88 | def fbe_size(self): |
| 89 | return 1 |
| 90 | |
| 91 | # Check if the value is valid |
| 92 | def verify(self): |
| 93 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 94 | return sys.maxsize |
| 95 | |
| 96 | return self.fbe_size |
| 97 | |
| 98 | # Get the value |
| 99 | def get(self): |
| 100 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 101 | return OrderSide(), 0 |
| 102 | |
| 103 | return OrderSide(self.read_byte(self.fbe_offset)), self.fbe_size |
| 104 | |
| 105 | # Set the value |
| 106 | def set(self, value): |
| 107 | assert ((self._buffer.offset + self.fbe_offset + self.fbe_size) <= self._buffer.size), "Model is broken!" |
| 108 | if (self._buffer.offset + self.fbe_offset + self.fbe_size) > self._buffer.size: |
| 109 | return 0 |
| 110 | |
| 111 | self.write_byte(self.fbe_offset, value) |
| 112 | return self.fbe_size |
| 113 | |
| 114 | |
| 115 | class OrderType(enum.IntEnum, metaclass=fbe.DefaultEnumMeta): |