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_producer_client.h

81 lines
2.7 KiB
C
Raw Normal View History

#ifndef __DORIS_PRODUCER_CLIENT_H__
#define __DORIS_PRODUCER_CLIENT_H__
enum FSSTAT_DRS_PROD_FILED_ITEMS
{
DRS_FSPRD_FILED_VERSTART=0,
DRS_FSPRD_FILED_VEREND,
DRS_FSPRD_FILED_VERCANCEL,
DRS_FSPRD_FILED_FILEFRAG,
DRS_FSPRD_FILED_FILEONCE,
FSSTAT_DORIS_PRD_FILED_NUM,
};
enum FSSTAT_DRS_PROD_STATUS_ITEMS
{
DRS_FSPRD_STAT_CNNED_SERVERS=0,
DRS_FSPRD_STAT_FAILED_SERVERS,
DRS_FSPRD_STAT_MEMORY_USED,
DRS_FSPRD_STAT_HTTP_SESSIONS,
DRS_FSPRD_STAT_REQ_SESSIONS,
FSSTAT_DORIS_PRD_STATUS_NUM,
};
struct doris_prod_statistics
{
long long field[FSSTAT_DORIS_PRD_FILED_NUM];
long long status[FSSTAT_DORIS_PRD_STATUS_NUM];
};
struct doris_prod_param;
struct doris_prod_instance;
struct doris_upload_ctx;
struct doris_prod_param *doris_prod_parameter_new(const char *confile, struct event_base *manage_evbase, void *runtimelog);
struct doris_prod_instance *doris_prod_instance_new(struct doris_prod_param *param, struct event_base *worker_evbase, void *runtimelog);
enum PROD_VERSTART_RES
{
VERSTART_RES_OK=0,
VERSTART_RES_BUSY, //<2F><>Ӧ<EFBFBD><D3A6>300<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>server<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start<72><74><EFBFBD><EFBFBD>;<EFBFBD>
VERSTART_RES_ERROR, //ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>400<30><30>Ҫô<D2AA>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫô<D2AA><C3B4>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>start<72>İ汾<C4B0><E6B1BE>
VERSTART_CURL_ERROR, //curlԭ<6C><D4AD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ӧ
};
/*cfgtype: 1-ȫ<><C8AB><EFBFBD><EFBFBD>2-<2D><><EFBFBD><EFBFBD>*/
struct doris_upload_ctx *doris_prod_upload_ctx_new(struct doris_prod_instance *instance,const char *business, int32_t cfgtype);
void doris_prod_upload_ctx_destroy(struct doris_upload_ctx *ctx);
int32_t doris_prod_version_start(struct doris_upload_ctx *ctx);
int32_t doris_prod_version_start_with_cb(struct doris_upload_ctx *ctx,
void (*verstart_cb)(enum PROD_VERSTART_RES result, const char *body, void *userdata), void *userdata);
enum PROD_VEROP_RES
{
VERSIONOP_RES_OK=0,
VERSIONOP_RES_ERROR,
VERSIONOP_CURL_ERROR,
};
struct table_meta
{
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;
const char *md5;
u_int32_t cfgnum;
};
int32_t doris_prod_upload_once_with_cb(struct doris_upload_ctx *ctx, char *data, size_t size,
struct table_meta *meta, void (*upfrag_cb)(enum PROD_VEROP_RES result, void *userdata), void *userdata);
int32_t doris_prod_upload_frag_with_cb(struct doris_upload_ctx *ctx, char *data, size_t size, size_t offset,
bool last, struct table_meta *meta, void (*upfrag_cb)(enum PROD_VEROP_RES result, void *userdata), void *userdata);
int32_t doris_prod_version_end(struct doris_upload_ctx *ctx, void (*verend_cb)(enum PROD_VEROP_RES result, int64_t version, void *userdata), void *userdata);
int32_t doris_prod_version_cancel(struct doris_upload_ctx *ctx, void (*vercancel_cb)(enum PROD_VEROP_RES result, void *userdata), void *userdata);
#endif