summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
author[email protected] <[email protected]>2021-08-25 18:40:20 +0800
committer[email protected] <[email protected]>2021-08-25 18:40:20 +0800
commit1aca701f127e94a7fbf60a996328083fed665f56 (patch)
tree699c72e52f5a4f0a4251d79c2d23df8bef8ea58d /include
parent67bafbefc972158f9ddd4fb9e45dc76ff2c8a540 (diff)
增加HTTP Post上传配置接口,支持主从双机备份与同步(冷备)
Diffstat (limited to 'include')
-rw-r--r--include/doris_client.h79
-rw-r--r--include/doris_consumer_client.h86
-rw-r--r--include/doris_producer_client.h80
3 files changed, 166 insertions, 79 deletions
diff --git a/include/doris_client.h b/include/doris_client.h
deleted file mode 100644
index 08f3884..0000000
--- a/include/doris_client.h
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef __DORIS_CLIENT_H__
-#define __DORIS_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_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; //��ǰ�ѻ�ȡ��ϵ����°汾�ţ���������һ���汾ȡ����
- int32_t judian_id;
-};
-
-struct tablemeta
-{
- const char *tablename; //����������ʽmaat���䣻������ʽΪ�ļ���
- const char *filename; //���ʱҪ����ļ���
- const char *userregion;
- size_t size;
- u_int32_t cfgnum;
-};
-
-struct doris_instance;
-struct doris_callbacks
-{
- void *userdata;
- void (*version_start)(struct doris_instance *instance, cJSON *meta, void *userdata); //meta�������汾���������ڶ���Ч
- void (*cfgfile_start)(struct doris_instance *instance, const struct tablemeta *meta, const char *unused, void *userdata);
- void (*cfgfile_update)(struct doris_instance *instance, const char *data, size_t len, void *userdata);
- void (*cfgfile_finish)(struct doris_instance *instance, const char *md5, void *userdata);
- void (*version_error)(struct doris_instance *instance, void *userdata); //�����ļ�ʧ�ܣ��ð汾��Ҫ�ع�
- void (*version_finish)(struct doris_instance *instance, void *userdata);
-};
-
-struct doris_parameter *doris_parameter_new(const char *confile, struct event_base *manage_evbase, void *runtimelog);
-struct doris_instance *doris_instance_new(struct doris_parameter *param, struct event_base *worker_evbase,
- struct doris_callbacks *cbs, struct doris_arguments *args, void *runtimelog);
-
-#endif
-
diff --git a/include/doris_consumer_client.h b/include/doris_consumer_client.h
new file mode 100644
index 0000000..f772626
--- /dev/null
+++ b/include/doris_consumer_client.h
@@ -0,0 +1,86 @@
+#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; //��ǰ�ѻ�ȡ��ϵ����°汾�ţ���������һ���汾ȡ����
+ int32_t judian_id;
+};
+
+struct tablemeta
+{
+ const char *tablename; //����������ʽmaat���䣻������ʽΪ�ļ���
+ const char *filename; //���ʱҪ����ļ���
+ 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�������汾���������ڶ���Ч
+ 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); //�����ļ�ʧ�ܣ��ð汾��Ҫ�ع�
+ void (*version_finish)(struct doris_csum_instance *instance, void *userdata);
+ void (*version_updated)(struct doris_csum_instance *instance, void *userdata); //��ʱû��������
+};
+
+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
+
diff --git a/include/doris_producer_client.h b/include/doris_producer_client.h
new file mode 100644
index 0000000..877f7a3
--- /dev/null
+++ b/include/doris_producer_client.h
@@ -0,0 +1,80 @@
+#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, //��Ӧ��300������server�������start����;�汾
+ VERSTART_RES_ERROR, //ȡ������Ӧ��������Ӧ��400��Ҫô�Ƿ�����Ҫô��δ���start�İ汾��
+ VERSTART_CURL_ERROR, //curlԭ��δ����ȡ����Ӧ
+};
+
+/*cfgtype: 1-ȫ����2-����*/
+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; //����������ʽmaat���䣻������ʽΪ�ļ���
+ const char *filename; //���ʱҪ����ļ���
+ 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
+