.. _program_listing_file__tmp_ws_src_data_tamer_data_tamer_cpp_include_data_tamer_sinks_dummy_sink.hpp: Program Listing for File dummy_sink.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/data_tamer/data_tamer_cpp/include/data_tamer/sinks/dummy_sink.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "data_tamer/data_sink.hpp" #include "data_tamer/details/mutex.hpp" #include #include namespace DataTamer { class DummySink : public DataSinkBase { public: std::unordered_map schemas; std::unordered_map schema_names; std::unordered_map snapshots_count; Snapshot latest_snapshot; Mutex schema_mutex_; ~DummySink() override { stopThread(); } void addChannel(std::string const& name, Schema const& schema) override { std::scoped_lock lk(schema_mutex_); schemas[schema.hash] = schema; schema_names[schema.hash] = name; snapshots_count[schema.hash] = 0; } bool storeSnapshot(const Snapshot& snapshot) override { std::scoped_lock lk(schema_mutex_); latest_snapshot = snapshot; auto it = snapshots_count.find(snapshot.schema_hash); if (it != snapshots_count.end()) { it->second++; } return true; } }; } // namespace DataTamer