renamed to pierog, extracted socket and file writers

This commit is contained in:
ags
2021-12-12 23:30:32 +00:00
parent 957dc393bd
commit 0a0da5b5a9
14 changed files with 318 additions and 265 deletions

View File

@@ -0,0 +1,40 @@
#ifndef PARENT_DATADISTRIBUTOR_H
#define PARENT_DATADISTRIBUTOR_H
#include <string>
#include <queue>
#include "SocketOutput.h"
#include "RotatingFileOutput.h"
class DataDistributor {
public:
DataDistributor(std::string logPath,
std::string host,
int port);
virtual ~DataDistributor();
void enqueueForSending(std::string* payload);
void markNewRecording();
void start();
void stop();
int isConnected();
private:
std::atomic<boolean> shouldRun = true;
std::atomic<boolean> running = false;
std::atomic<boolean> everSentViaSocket = false;
std::deque<std::string*> dataBuffer;
std::deque<std::string*> sendQueue;
std::mutex lock;
std::chrono::time_point<std::chrono::system_clock> lastSent = std::chrono::system_clock::now();
SocketOutput* socketOutput;
RotatingFileOutput* fileOutput;
};
#endif //PARENT_DATADISTRIBUTOR_H