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

Class OrderMessageModel

projects/Python/proto/proto.py:2658–2731  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2656
2657# Fast Binary Encoding OrderMessage model
2658class OrderMessageModel(fbe.Model):
2659 __slots__ = "_model",
2660
2661 def __init__(self, buffer=None):
2662 super().__init__(buffer)
2663 self._model = FieldModelOrderMessage(self.buffer, 4)
2664
2665 @property
2666 def model(self):
2667 return self._model
2668
2669 # Get the model size
2670 @property
2671 def fbe_size(self):
2672 return self._model.fbe_size + self._model.fbe_extra
2673
2674 # Get the model type
2675 @property
2676 def fbe_type(self):
2677 return self.TYPE
2678
2679 TYPE = FieldModelOrderMessage.TYPE
2680
2681 # Check if the struct value is valid
2682 def verify(self):
2683 if (self.buffer.offset + self._model.fbe_offset - 4) > self.buffer.size:
2684 return False
2685
2686 fbe_full_size = self.read_uint32(self._model.fbe_offset - 4)
2687 if fbe_full_size < self._model.fbe_size:
2688 return False
2689
2690 return self._model.verify()
2691
2692 # Create a new model (begin phase)
2693 def create_begin(self):
2694 fbe_begin = self.buffer.allocate(4 + self._model.fbe_size)
2695 return fbe_begin
2696
2697 # Create a new model (end phase)
2698 def create_end(self, fbe_begin):
2699 fbe_end = self.buffer.size
2700 fbe_full_size = fbe_end - fbe_begin
2701 self.write_uint32(self._model.fbe_offset - 4, fbe_full_size)
2702 return fbe_full_size
2703
2704 # Serialize the struct value
2705 def serialize(self, value):
2706 fbe_begin = self.create_begin()
2707 self._model.set(value)
2708 fbe_full_size = self.create_end(fbe_begin)
2709 return fbe_full_size
2710
2711 # Deserialize the struct value
2712 def deserialize(self, value=None):
2713 if value is None:
2714 value = OrderMessage()
2715

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