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

Class OrderMessageFinalModel

projects/Python/proto/protoex.py:2939–3004  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2937
2938# Fast Binary Encoding OrderMessage final model
2939class OrderMessageFinalModel(fbe.Model):
2940 __slots__ = "_model",
2941
2942 def __init__(self, buffer=None):
2943 super().__init__(buffer)
2944 self._model = FinalModelOrderMessage(self.buffer, 8)
2945
2946 # Get the model type
2947 @property
2948 def fbe_type(self):
2949 return self.TYPE
2950
2951 TYPE = FinalModelOrderMessage.TYPE
2952
2953 # Check if the struct value is valid
2954 def verify(self):
2955 if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size:
2956 return False
2957
2958 fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8)
2959 fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4)
2960 if (fbe_struct_size <= 0) or (fbe_struct_type != self.fbe_type):
2961 return False
2962
2963 return (8 + self._model.verify()) == fbe_struct_size
2964
2965 # Serialize the struct value
2966 def serialize(self, value):
2967 fbe_initial_size = self.buffer.size
2968
2969 fbe_struct_type = self.fbe_type
2970 fbe_struct_size = 8 + self._model.fbe_allocation_size(value)
2971 fbe_struct_offset = self.buffer.allocate(fbe_struct_size) - self.buffer.offset
2972 assert ((self.buffer.offset + fbe_struct_offset + fbe_struct_size) <= self.buffer.size), "Model is broken!"
2973 if (self.buffer.offset + fbe_struct_offset + fbe_struct_size) > self.buffer.size:
2974 return 0
2975
2976 fbe_struct_size = 8 + self._model.set(value)
2977 self.buffer.resize(fbe_initial_size + fbe_struct_size)
2978
2979 self.write_uint32(self._model.fbe_offset - 8, fbe_struct_size)
2980 self.write_uint32(self._model.fbe_offset - 4, fbe_struct_type)
2981
2982 return fbe_struct_size
2983
2984 # Deserialize the struct value
2985 def deserialize(self, value=None):
2986 if value is None:
2987 value = OrderMessage()
2988
2989 assert ((self.buffer.offset + self._model.fbe_offset) <= self.buffer.size), "Model is broken!"
2990 if (self.buffer.offset + self._model.fbe_offset) > self.buffer.size:
2991 return OrderMessage(), 0
2992
2993 fbe_struct_size = self.read_uint32(self._model.fbe_offset - 8)
2994 fbe_struct_type = self.read_uint32(self._model.fbe_offset - 4)
2995 assert ((fbe_struct_size > 0) and (fbe_struct_type == self.fbe_type)), "Model is broken!"
2996 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