Forked from
asapo / asapo
868 commits behind the upstream repository.
-
George Sedov authored
Adds rdkafka dependency, rdkafka client, and notification for file close event
George Sedov authoredAdds rdkafka dependency, rdkafka client, and notification for file close event
kafka_client_factory.cpp 648 B
#include "rdkafka_client.h"
namespace asapo {
KafkaClient* instance = nullptr;
Error InitializeKafkaClient(const KafkaClientConfig& config) {
if (instance != nullptr) {
return KafkaErrorTemplates::kGeneralError.Generate("Kafka client already initialized");
}
try {
instance = new RdKafkaClient(config);
}
catch (std::string err) {
return KafkaErrorTemplates::kGeneralError.Generate(err);
}
return nullptr;
}
std::unique_ptr<KafkaClient> GetKafkaClient() {
if (instance != nullptr) {
return std::unique_ptr<KafkaClient> {instance};
} else {
return nullptr;
}
}
}