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