28 virtual void connect(
const std::string& connection_string) = 0;
47 const std::string& table_name);
83 virtual void connect(
const std::string& connection_string) = 0;
102 const std::string& queue_name);
110 template <
typename T>
119 template <
typename T>
Class for publishing chunks to message queues.
void publish_chunks_kafka(const std::vector< std::vector< T > > &chunks)
Publish chunks to Kafka topic.
ChunkMessageQueue(std::unique_ptr< MessageQueueConnection > connection, const std::string &queue_name)
Constructor.
std::unique_ptr< MessageQueueConnection > mq_connection
Message queue connection.
void publish_chunks_rabbitmq(const std::vector< std::vector< T > > &chunks)
Publish chunks to RabbitMQ queue.
std::string queue
Target queue name.
Class for storing chunks in various databases.
DatabaseChunkStore(std::unique_ptr< DatabaseConnection > connection, const std::string &table_name)
Constructor.
void store_chunks_mongodb(const std::vector< std::vector< T > > &chunks)
Store chunks in MongoDB database.
std::string table
Target table name.
std::unique_ptr< DatabaseConnection > db_connection
Database connection.
void store_chunks_postgres(const std::vector< std::vector< T > > &chunks)
Store chunks in PostgreSQL database.
Abstract base class for database connections.
virtual ~DatabaseConnection()=default
virtual void connect(const std::string &connection_string)=0
Connect to database.
virtual void disconnect()=0
Disconnect from database.
Abstract base class for message queue connections.
virtual void disconnect()=0
Disconnect from message queue.
virtual void connect(const std::string &connection_string)=0
Connect to message queue.
virtual ~MessageQueueConnection()=default