#ifndef _TFE_KAFKA_LOGGER_H #define _TFE_KAFKA_LOGGER_H #ifdef __cpluscplus extern "C" { #endif #include #include enum kafka_topic_type { TOPIC_LOGGER, TOPIC_BUCKET, TOPIC_MC_CACHE, TOPIC_MAX }; typedef struct tfe_kafka_logger_s { int enable; int t_vsys_id; unsigned int local_ip_num; char local_ip_str[TFE_SYMBOL_MAX]; char topic_name[TOPIC_MAX][TFE_STRING_MAX]; char broker_list[TFE_STRING_MAX]; rd_kafka_t *kafka_handle[TOPIC_MAX]; rd_kafka_topic_t *kafka_topic[TOPIC_MAX]; } tfe_kafka_logger_t; tfe_kafka_logger_t *tfe_kafka_logger_create(int enable, const char *nic_name, const char *brokerlist, void *local_logger); int tfe_logger_create_kafka_topic(tfe_kafka_logger_t *logger, const char *sasl_username, const char *sasl_passwd, const char *topic_name, int topic_id, void *local_logger); void tfe_kafka_logger_destroy(tfe_kafka_logger_t *logger); int tfe_kafka_logger_send(tfe_kafka_logger_t *logger, int topic_id, const char *data, int len); #ifdef __cpluscplus } #endif #endif