6 #include <palimpsest/exceptions/KeyError.h>
8 #include "vulp/exceptions/ObserverError.h"
12 using palimpsest::exceptions::KeyError;
13 using vulp::exceptions::ObserverError;
16 for (
auto observer : observers_) {
17 observer->reset(config);
22 for (
auto source : sources_) {
23 source->write(observation);
25 for (
auto observer : observers_) {
27 observer->read(observation);
28 observer->write(observation);
29 }
catch (
const KeyError& e) {
30 throw ObserverError(observer->prefix(), e.key());
31 }
catch (
const std::exception& e) {
32 spdlog::error(
"[ObserverPipeline] Observer {} threw an exception: {}",
33 observer->prefix(), e.what());
void reset(const Dictionary &config)
Reset observers.
void run(Dictionary &observation)
Run observer pipeline on an observation dictionary.