+void SigSession::feed_in_logic(const sr_datafeed_logic &logic)
+{
+ lock_guard<mutex> lock(_data_mutex);
+ if (!_cur_logic_snapshot)
+ {
+ assert(_logic_data);
+
+ // Create a new data snapshot
+ _cur_logic_snapshot = shared_ptr<data::LogicSnapshot>(
+ new data::LogicSnapshot(logic));
+ _logic_data->push_snapshot(_cur_logic_snapshot);
+ }
+ else
+ {
+ // Append to the existing data snapshot
+ _cur_logic_snapshot->append_payload(logic);
+ }
+
+ data_updated();
+}
+
+void SigSession::feed_in_analog(const sr_datafeed_analog &analog)
+{
+ lock_guard<mutex> lock(_data_mutex);
+ if (!_cur_analog_snapshot)