| 839 | |
| 840 | |
| 841 | class FinalModelOrder(fbe.FinalModel): |
| 842 | __slots__ = "_id", "_symbol", "_side", "_type", "_price", "_volume", |
| 843 | |
| 844 | def __init__(self, buffer, offset): |
| 845 | super().__init__(buffer, offset) |
| 846 | self._id = fbe.FinalModelInt32(buffer, 0) |
| 847 | self._symbol = fbe.FinalModelString(buffer, 0) |
| 848 | self._side = FinalModelOrderSide(buffer, 0) |
| 849 | self._type = FinalModelOrderType(buffer, 0) |
| 850 | self._price = fbe.FinalModelDouble(buffer, 0) |
| 851 | self._volume = fbe.FinalModelDouble(buffer, 0) |
| 852 | |
| 853 | @property |
| 854 | def id(self): |
| 855 | return self._id |
| 856 | |
| 857 | @property |
| 858 | def symbol(self): |
| 859 | return self._symbol |
| 860 | |
| 861 | @property |
| 862 | def side(self): |
| 863 | return self._side |
| 864 | |
| 865 | @property |
| 866 | def type(self): |
| 867 | return self._type |
| 868 | |
| 869 | @property |
| 870 | def price(self): |
| 871 | return self._price |
| 872 | |
| 873 | @property |
| 874 | def volume(self): |
| 875 | return self._volume |
| 876 | |
| 877 | # Get the allocation size |
| 878 | def fbe_allocation_size(self, fbe_value): |
| 879 | fbe_result = 0 \ |
| 880 | + self.id.fbe_allocation_size(fbe_value.id) \ |
| 881 | + self.symbol.fbe_allocation_size(fbe_value.symbol) \ |
| 882 | + self.side.fbe_allocation_size(fbe_value.side) \ |
| 883 | + self.type.fbe_allocation_size(fbe_value.type) \ |
| 884 | + self.price.fbe_allocation_size(fbe_value.price) \ |
| 885 | + self.volume.fbe_allocation_size(fbe_value.volume) \ |
| 886 | |
| 887 | return fbe_result |
| 888 | |
| 889 | # Get the final type |
| 890 | @property |
| 891 | def fbe_type(self): |
| 892 | return self.TYPE |
| 893 | |
| 894 | TYPE = 1 |
| 895 | |
| 896 | # Check if the struct value is valid |
| 897 | def verify(self): |
| 898 | self._buffer.shift(self.fbe_offset) |