diff options
Diffstat (limited to 'client')
| -rw-r--r-- | client/doris_client_fetch.cpp | 32 | ||||
| -rw-r--r-- | client/doris_client_fetch.h | 6 |
2 files changed, 19 insertions, 19 deletions
diff --git a/client/doris_client_fetch.cpp b/client/doris_client_fetch.cpp index 28318c6..85f6857 100644 --- a/client/doris_client_fetch.cpp +++ b/client/doris_client_fetch.cpp @@ -137,8 +137,8 @@ void doris_http_confile_header_cb(const char *start, size_t bytes, CURLcode code instance->retry_times = 0; if(instance->curmeta.curoffset == 0) { - instance->param->cbs.cfgfile_start(instance, instance->curmeta.table_name, - instance->curmeta.size, instance->curmeta.cfg_num, instance->param->cbs.userdata); + instance->cbs.cfgfile_start(instance, instance->curmeta.table_name, + instance->curmeta.size, instance->curmeta.cfg_num, instance->cbs.userdata); MD5_Init(&instance->ctx.md5ctx); } } @@ -180,7 +180,7 @@ void doris_http_confile_body_cb(const char *ptr, size_t bytes, CURLcode code, lo return; } - instance->param->cbs.cfgfile_update(instance, ptr, bytes, instance->param->cbs.userdata); + instance->cbs.cfgfile_update(instance, ptr, bytes, instance->cbs.userdata); MD5_Update(&instance->ctx.md5ctx, ptr, bytes); instance->curmeta.curoffset += bytes; instance->statistic.field[DRS_FS_FILED_RES_BYTES] += bytes; @@ -228,14 +228,14 @@ void doris_http_confile_done_cb(CURLcode res, long res_code, const char *err, vo } else { - MESA_HANDLE_RUNTIME_LOGV2(instance->runtime_log, RLOG_LV_INFO, "Fetch confile %s.010%lu over, md5: %s", + MESA_HANDLE_RUNTIME_LOGV2(instance->runtime_log, RLOG_LV_INFO, "Fetch confile %s.%010lu over, md5: %s", instance->curmeta.table_name, instance->req_version, md5buffer); } instance->statistic.field[DRS_FS_FILED_RES_FILES] += 1; - instance->param->cbs.cfgfile_finish(instance, md5buffer, instance->param->cbs.userdata); + instance->cbs.cfgfile_finish(instance, md5buffer, instance->cbs.userdata); if(instance->array_index == instance->array_size) { - instance->param->cbs.version_finish(instance, instance->param->cbs.userdata); + instance->cbs.version_finish(instance, instance->cbs.userdata); instance->status = FETCH_STATUS_META; doris_update_new_version(instance); cJSON_Delete(instance->meta); @@ -268,7 +268,7 @@ out_md5: if(instance->retry_times >= instance->param->fetch_max_tries || direct_fail) { instance->statistic.field[DRS_FS_FILED_RES_VERERR] += 1; - instance->param->cbs.version_error(instance, instance->param->cbs.userdata); + instance->cbs.version_error(instance, instance->cbs.userdata); instance->retry_times = 0; instance->status = FETCH_STATUS_META; cJSON_Delete(instance->meta); @@ -296,7 +296,7 @@ void doris_http_fetch_confile(struct doris_instance *instance) doris_http_ctx_add_header(instance->ctx.httpctx, range); } - snprintf(metauri, 128, "configfile?tablename=%s&version=%lu&businessid=%u", instance->curmeta.table_name, instance->req_version, instance->param->args.businessid); + snprintf(metauri, 128, "configfile?tablename=%s&version=%lu&business=%s", instance->curmeta.table_name, instance->req_version, instance->args.bizname); if(doris_http_launch_get_request(instance->ctx.httpctx, metauri)) { instance->statistic.field[DRS_FS_FILED_REQ_FAIL] += 1; @@ -371,7 +371,7 @@ void doris_http_meta_done_cb(CURLcode res, long res_code, const char *err, void MESA_HANDLE_RUNTIME_LOGV2(instance->runtime_log, RLOG_LV_INFO, "NEW_META found, cur_version=%lu, newjson: %s", instance->cur_version, instance->estr.buff); - instance->param->cbs.version_start(instance, instance->meta, instance->param->cbs.userdata); + instance->cbs.version_start(instance, instance->meta, instance->cbs.userdata); instance->array = cJSON_GetObjectItem(instance->meta, "configs"); instance->array_size = cJSON_GetArraySize(instance->array); assert(instance->array_size > 0); @@ -420,7 +420,7 @@ static void doris_http_fetch_meta(struct doris_instance *instance) instance->req_version = instance->cur_version + 1; //ֻ�а汾���³ɹ���cur_version�Ż���� if(instance->ctx.httpctx != NULL) { - snprintf(metauri, 128, "configmeta?version=%lu&businessid=%u", instance->req_version, instance->param->args.businessid); + snprintf(metauri, 128, "configmeta?version=%lu&business=%s", instance->req_version, instance->args.bizname); if(!doris_http_launch_get_request(instance->ctx.httpctx, metauri)) { instance->status = FETCH_STATUS_META; @@ -530,15 +530,12 @@ static int doris_client_register_field_stat(struct doris_parameter *param, void return 0; } -struct doris_parameter *doris_parameter_new(const char *confile, struct event_base *manage_evbase, struct doris_callbacks *cbs, - struct doris_arguments *args, void *runtimelog) +struct doris_parameter *doris_parameter_new(const char *confile, struct event_base *manage_evbase, void *runtimelog) { struct doris_parameter *param; param = (struct doris_parameter *)calloc(1, sizeof(struct doris_parameter)); param->manage_evbase = manage_evbase; - param->cbs = *cbs; - param->args= *args; MESA_load_profile_uint_def(confile, "DORIS_CLIENT", "fetch_fail_retry_interval", ¶m->retry_interval, 10); MESA_load_profile_uint_def(confile, "DORIS_CLIENT", "fetch_fragmet_size", ¶m->fetch_frag_size, 5242880); @@ -599,7 +596,8 @@ static void doris_instance_statistic_timer_cb(int fd, short kind, void *userp) event_add(&instance->timer_statistic, &tv); } -struct doris_instance *doris_instance_new(struct doris_parameter *param, struct event_base *worker_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) { struct doris_instance *instance; struct timeval tv; @@ -608,7 +606,9 @@ struct doris_instance *doris_instance_new(struct doris_parameter *param, struct instance->param = param; instance->worker_evbase = worker_evbase; instance->runtime_log = runtimelog; - instance->cur_version = param->args.current_version; + instance->cbs = *cbs; + instance->args= *args; + instance->cur_version = args->current_version; instance->req_version = instance->cur_version + 1; //TODO instance->httpins_master = doris_http_instance_new(param->param_master, worker_evbase, runtimelog); diff --git a/client/doris_client_fetch.h b/client/doris_client_fetch.h index 7125540..66afbdf 100644 --- a/client/doris_client_fetch.h +++ b/client/doris_client_fetch.h @@ -23,9 +23,6 @@ enum FETCH_CFG_STATUS struct doris_parameter { - struct doris_callbacks cbs; - struct doris_arguments args; - u_int32_t retry_interval; u_int32_t fetch_frag_size; u_int32_t fetch_max_tries; @@ -82,6 +79,9 @@ struct doris_confile_ctx struct doris_instance { + struct doris_callbacks cbs; + struct doris_arguments args; + enum FETCH_CFG_STATUS status; u_int32_t retry_times; |
