88 auto start = std::chrono::high_resolution_clock::now();
91 std::chrono::high_resolution_clock::now() -
start));
101 return published_status;
163 return static_cast<float>(successes) / static_cast<float>(attempts) * 100.0f;
int getPublishSuccesses()
virtual bool addListener(const std::function< void(const T &)> &listener)
ObservableObject< PublisherState > publisher_state_
std::atomic< int > publish_attempts_
Aws::DataFlow::UploadStatus attemptPublish(T &data) override
virtual void setValue(const T &v)
std::atomic< int > publish_successes_
std::mutex publish_mutex_
virtual void addPublisherStateListener(const std::function< void(const PublisherState &)> &listener)
std::chrono::milliseconds getLastPublishDuration()
std::atomic< std::chrono::milliseconds > last_publish_duration_
float getPublishSuccessPercentage()
virtual Aws::DataFlow::UploadStatus publishData(T &data)=0
~Publisher() override=default
PublisherState getPublisherState()