| 312 | } |
| 313 | |
| 314 | size_t OrderModel::deserialize(::protoex::Order& value) const noexcept |
| 315 | { |
| 316 | if ((this->buffer().offset() + model.fbe_offset() - 4) > this->buffer().size()) |
| 317 | return 0; |
| 318 | |
| 319 | uint32_t fbe_full_size = *((const uint32_t*)(this->buffer().data() + this->buffer().offset() + model.fbe_offset() - 4)); |
| 320 | assert((fbe_full_size >= model.fbe_size()) && "Model is broken!"); |
| 321 | if (fbe_full_size < model.fbe_size()) |
| 322 | return 0; |
| 323 | |
| 324 | model.get(value); |
| 325 | return fbe_full_size; |
| 326 | } |
| 327 | |
| 328 | } // namespace protoex |
| 329 |