1 #ifndef MADARA_KNOWLEDGE_CHECKPOINT_STREAMER_H_
2 #define MADARA_KNOWLEDGE_CHECKPOINT_STREAMER_H_
10 #include "madara/MadaraExport.h"
46 double write_hertz = 10)
47 : settings_(std::move(settings)),
49 write_hertz_(write_hertz),
50 thread_(thread_main, (keep_running_.test_and_set(), this))
90 keep_running_.clear();
91 if (thread_.joinable())
100 using pair_type = std::pair<std::string, KnowledgeRecord>;
105 double write_hertz_ = 10;
const ThreadSafeContext * context_
Interface for knowledge update streaming.
Holds settings for checkpoints to load or save.
Implementation of BaseStreamer which writes updates to a Madara checkpoint file.
std::vector< pair_type > in_buffer
std::pair< std::string, KnowledgeRecord > pair_type
CheckpointStreamer(const CheckpointStreamer &)=delete
std::atomic_flag keep_running_
CheckpointSettings settings_
std::vector< pair_type > out_buffer
CheckpointStreamer(CheckpointSettings settings, KnowledgeBase &kb, double write_hertz=10)
Constructor.
CheckpointStreamer(CheckpointStreamer &&)=delete
CheckpointStreamer(CheckpointSettings settings, ThreadSafeContext &context, double write_hertz=10)
Constructor.
ThreadSafeContext * context_
CheckpointStreamer & operator=(const CheckpointStreamer &)=delete
CheckpointStreamer & operator=(CheckpointStreamer &&)=delete
This class provides a distributed knowledge base to users.
This class encapsulates an entry in a KnowledgeBase.
This class stores variables and their values for use by any entity needing state information in a thr...
Provides functions and classes for the distributed knowledge base.
Copyright(c) 2020 Galois.