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

Class OrderMessageModel

projects/Python/proto/protoex.py:2775–2848  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2773
2774# Fast Binary Encoding OrderMessage model
2775class OrderMessageModel(fbe.Model):
2776 __slots__ = "_model",
2777
2778 def __init__(self, buffer=None):
2779 super().__init__(buffer)
2780 self._model = FieldModelOrderMessage(self.buffer, 4)
2781
2782 @property
2783 def model(self):
2784 return self._model
2785
2786 # Get the model size
2787 @property
2788 def fbe_size(self):
2789 return self._model.fbe_size + self._model.fbe_extra
2790
2791 # Get the model type
2792 @property
2793 def fbe_type(self):
2794 return self.TYPE
2795
2796 TYPE = FieldModelOrderMessage.TYPE
2797
2798 # Check if the struct value is valid
2799 def verify(self):
2800 if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size:
2801 return False
2802
2803 fbe_full_size = self.read_uint32(self._model.fbe_offset - 4)
2804 if fbe_full_size < self._model.fbe_size:
2805 return False
2806
2807 return self._model.verify()
2808
2809 # Create a new model (begin phase)
2810 def create_begin(self):
2811 fbe_begin = self.buffer.allocate(4 + self._model.fbe_size)
2812 return fbe_begin
2813
2814 # Create a new model (end phase)
2815 def create_end(self, fbe_begin):
2816 fbe_end = self.buffer.size
2817 fbe_full_size = fbe_end - fbe_begin
2818 self.write_uint32(self._model.fbe_offset - 4, fbe_full_size)
2819 return fbe_full_size
2820
2821 # Serialize the struct value
2822 def serialize(self, value):
2823 fbe_begin = self.create_begin()
2824 self._model.set(value)
2825 fbe_full_size = self.create_end(fbe_begin)
2826 return fbe_full_size
2827
2828 # Deserialize the struct value
2829 def deserialize(self, value=None):
2830 if value is None:
2831 value = OrderMessage()
2832

Callers 4

cloneMethod · 0.70
__init__Method · 0.70
__init__Method · 0.70
__init__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected