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

Method serialize

projects/Python/proto/protoex.py:1192–1208  ·  view source on GitHub ↗
(self, value)

Source from the content-addressed store, hash-verified

1190
1191 # Serialize the struct value
1192 def serialize(self, value):
1193 fbe_initial_size = self.buffer.size
1194
1195 fbe_struct_type = self.fbe_type
1196 fbe_struct_size = 8 + self._model.fbe_allocation_size(value)
1197 fbe_struct_offset = self.buffer.allocate(fbe_struct_size) - self.buffer.offset
1198 assert ((self.buffer.offset + fbe_struct_offset + fbe_struct_size) <= self.buffer.size), "Model is broken!"
1199 if (self.buffer.offset + fbe_struct_offset + fbe_struct_size) > self.buffer.size:
1200 return 0
1201
1202 fbe_struct_size = 8 + self._model.set(value)
1203 self.buffer.resize(fbe_initial_size + fbe_struct_size)
1204
1205 self.write_uint32(self._model.fbe_offset - 8, fbe_struct_size)
1206 self.write_uint32(self._model.fbe_offset - 4, fbe_struct_type)
1207
1208 return fbe_struct_size
1209
1210 # Deserialize the struct value
1211 def deserialize(self, value=None):

Callers

nothing calls this directly

Calls 5

fbe_allocation_sizeMethod · 0.45
allocateMethod · 0.45
setMethod · 0.45
resizeMethod · 0.45
write_uint32Method · 0.45

Tested by

no test coverage detected