This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
doris-doris-dispatch/include/doris_consumer_client.h

87 lines
2.6 KiB
C
Raw Normal View History

#ifndef __DORIS_CONSUMER_CLIENT_H__
#define __DORIS_CONSUMER_CLIENT_H__
#include <event.h>
#include <cjson/cJSON.h>
enum FSSTAT_DORIS_FILED_ITEMS
{
DRS_FS_FILED_REQ_FAIL=0,
DRS_FS_FILED_REQ_META,
DRS_FS_FILED_RES_META,
DRS_FS_FILED_RES_NOMETA,
DRS_FS_FILED_REQ_FILES,
DRS_FS_FILED_RES_FILES,
DRS_FS_FILED_RES_FRAGS,
DRS_FS_FILED_RES_FRAGERR,
DRS_FS_FILED_RES_BYTES,
DRS_FS_FILED_RES_VERERR,
DRS_FS_FILED_BACKUP1_REQ,
DRS_FS_FILED_BACKUP2_REQ,
FSSTAT_DORIS_FILED_NUM,
};
enum FSSTAT_DORIS_STATUS_ITEMS
{
DRS_FS_STAT_MST_CNN_SRV=0,
DRS_FS_STAT_MST_FAIL_SRV,
DRS_FS_STAT_BCK1_CNN_SRV,
DRS_FS_STAT_BCK1_FAIL_SRV,
DRS_FS_STAT_BCK2_CNN_SRV,
DRS_FS_STAT_BCK2_FAIL_SRV,
DRS_FS_STAT_MEMORY_USED,
DRS_FS_STAT_HTTP_SESSIONS,
FSSTAT_DORIS_STATUS_NUM,
};
struct doris_csum_statistics
{
long long field[FSSTAT_DORIS_FILED_NUM];
long long status[FSSTAT_DORIS_STATUS_NUM];
};
struct doris_arguments
{
char bizname[32];
int64_t current_version; //<2F><>ǰ<EFBFBD>ѻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>°汾<C2B0>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>汾ȡ<E6B1BE><C8A1><EFBFBD><EFBFBD>
int32_t judian_id;
};
struct tablemeta
{
const char *tablename; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽmaat<61><74><EFBFBD><EFBFBD><E4A3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽΪ<CABD>ļ<EFBFBD><C4BC><EFBFBD>
const char *filename; //<2F><><EFBFBD><EFBFBD>ʱҪ<CAB1><D2AA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
const char *userregion;
size_t size;
u_int32_t cfgnum;
};
struct doris_csum_param;
struct doris_csum_instance;
struct doris_callbacks
{
void *userdata;
void (*version_start)(struct doris_csum_instance *instance, cJSON *meta, void *userdata); //meta<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>Ч
void (*cfgfile_start)(struct doris_csum_instance *instance, const struct tablemeta *meta, const char *unused, void *userdata);
void (*cfgfile_update)(struct doris_csum_instance *instance, const char *data, size_t len, void *userdata);
void (*cfgfile_finish)(struct doris_csum_instance *instance, const char *md5, void *userdata);
void (*version_error)(struct doris_csum_instance *instance, void *userdata); //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3>ð汾<C3B0><E6B1BE>Ҫ<EFBFBD>ع<EFBFBD>
void (*version_finish)(struct doris_csum_instance *instance, void *userdata);
void (*version_updated)(struct doris_csum_instance *instance, void *userdata); //<2F><>ʱû<CAB1><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
struct doris_csum_param *doris_csum_parameter_new(const char *confile, struct event_base *manage_evbase, void *runtimelog);
void doris_csum_parameter_destroy(struct doris_csum_param *param);
u_int32_t doris_csum_param_get_refernces(struct doris_csum_param *param);
struct doris_csum_instance *doris_csum_instance_new(struct doris_csum_param *param, struct event_base *worker_evbase,
struct doris_callbacks *cbs, struct doris_arguments *args, void *runtimelog);
struct doris_csum_param *doris_csum_instance_get_param(struct doris_csum_instance *instance);
void doris_csum_instance_destroy(struct doris_csum_instance *instance);
#endif