+ if(!_cur_logic_snapshot)
+ {
+ // Create a new data snapshot
+ _cur_logic_snapshot = shared_ptr<LogicDataSnapshot>(
+ new LogicDataSnapshot(
+ *(sr_datafeed_logic*)packet->payload));
+ _logic_data->push_snapshot(_cur_logic_snapshot);
+ }
+ else
+ {
+ // Append to the existing data snapshot