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

Class OrderMessageFinalModel

projects/Python/proto/proto.py:2822–2887  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2820
2821# Fast Binary Encoding OrderMessage final model
2822class OrderMessageFinalModel(fbe.Model):
2823 __slots__ = "_model",
2824
2825 def __init__(self, buffer=None):
2826 super().__init__(buffer)
2827 self._model = FinalModelOrderMessage(self.buffer, 8)
2828
2829 # Get the model type
2830 @property
2831 def fbe_type(self):
2832 return self.TYPE
2833
2834 TYPE = FinalModelOrderMessage.TYPE
2835
2836 # Check if the struct value is valid
2837 def verify(self):
2838 if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size:
2839 return False
2840
2841 fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8)
2842 fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4)
2843 if (fbe_struct_size <= 0) or (fbe_struct_type != self.fbe_type):
2844 return False
2845
2846 return (8 + self._model.verify()) == fbe_struct_size
2847
2848 # Serialize the struct value
2849 def serialize(self, value):
2850 fbe_initial_size = self.buffer.size
2851
2852 fbe_struct_type = self.fbe_type
2853 fbe_struct_size = 8 + self._model.fbe_allocation_size(value)
2854 fbe_struct_offset = self.buffer.allocate(fbe_struct_size) - self.buffer.offset
2855 assert ((self.buffer.offset + fbe_struct_offset + fbe_struct_size) <= self.buffer.size), "Model is broken!"
2856 if (self.buffer.offset + fbe_struct_offset + fbe_struct_size) > self.buffer.size:
2857 return 0
2858
2859 fbe_struct_size = 8 + self._model.set(value)
2860 self.buffer.resize(fbe_initial_size + fbe_struct_size)
2861
2862 self.write_uint32(self._model.fbe_offset - 8, fbe_struct_size)
2863 self.write_uint32(self._model.fbe_offset - 4, fbe_struct_type)
2864
2865 return fbe_struct_size
2866
2867 # Deserialize the struct value
2868 def deserialize(self, value=None):
2869 if value is None:
2870 value = OrderMessage()
2871
2872 assert ((self.buffer.offset + self._model.fbe_offset) <= self.buffer.size), "Model is broken!"
2873 if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size:
2874 return OrderMessage(), 0
2875
2876 fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8)
2877 fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4)
2878 assert ((fbe_struct_size > 0) and (fbe_struct_type == self.fbe_type)), "Model is broken!"
2879 if (fbe_struct_size <= 0) or (fbe_struct_type != self.fbe_type):

Callers 2

__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected