pangu http业务层适配cache client接口的更新。

This commit is contained in:
zhengchao
2018-10-31 11:52:19 +08:00
parent 0f77b9c44c
commit 92698c9810
3 changed files with 22 additions and 7 deletions

View File

@@ -11,7 +11,7 @@
#include <hiredis/hiredis.h>
#include <hiredis/async.h>
#include <hiredis/adapters/libevent.h>
#include <cJSON/cJSON.h>
#include <cjson/cJSON.h>
#include "tango_cache_transfer.h"
#include "tango_cache_tools.h"

View File

@@ -408,7 +408,13 @@ void cache_pending_ctx_free_cb(void* p)
{
struct cache_pending_context* ctx=(struct cache_pending_context*)p;
ctx->request=NULL;
free(ctx->url);
FREE(&(ctx->url));
FREE(&(ctx->req_if_modified_since));
FREE(&(ctx->req_if_none_match));
if(ctx->f_tango_cache_fetch)
{
future_destroy(ctx->f_tango_cache_fetch);
}
free(ctx);
return;
}
@@ -519,8 +525,13 @@ enum cache_pending_result web_cache_async_pending(struct cache_handle* handle, u
promise_set_ctx(p, ctx, cache_pending_ctx_free_cb);
ATOMIC_INC(&(handle->stat_val[STAT_CACHE_PENDING]));
ctx->f_tango_cache_fetch=future_create("_cache_meta", cache_query_meta_on_succ, cache_query_meta_on_fail, p);
ctx->f_tango_cache_fetch=future_create("_cache_pend", cache_query_meta_on_succ, cache_query_meta_on_fail, p);
int ret=tango_cache_head_object(handle->clients[thread_id], ctx->f_tango_cache_fetch, &meta);
if(ret<0)
{
cache_pending_ctx_free_cb(ctx);
return PENDING_RESULT_FOBIDDEN;
}
assert(ret==0);
return PENDING_RESULT_REVALIDATE;
}
@@ -555,7 +566,12 @@ int web_cache_async_query(struct cache_handle* handle, unsigned int thread_id,
ATOMIC_INC(&(handle->stat_val[STAT_CACHE_QUERYING]));
query_ctx->f_tango_cache_fetch=future_create("_cache_get", cache_query_obj_on_succ, cache_query_obj_on_fail, p);
int ret=tango_cache_fetch_object(handle->clients[thread_id], query_ctx->f_tango_cache_fetch, &meta);
int ret=tango_cache_fetch_object(handle->clients[thread_id], query_ctx->f_tango_cache_fetch, &meta);
if(ret<0)
{
cache_query_ctx_free_cb(query_ctx);
return -1;
}
return 0;
}
struct wrap_cache_put_ctx
@@ -658,7 +674,6 @@ struct cache_update_context* web_cache_update_start(struct cache_handle* handle,
if(write_ctx==NULL)//exceed maximum cache memory size.
{
wrap_cache_put_ctx_free(_cache_put_ctx);
assert(0);
return NULL;
}
TFE_LOG_DEBUG(handle->logger, "cache upload allowed: %s", _cache_put_ctx->url);

View File

@@ -249,8 +249,8 @@ set_property(TARGET libcurl-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib
set_property(TARGET libcurl-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
ExternalProject_Add(hiredis PREFIX hiredis
URL ${CMAKE_CURRENT_SOURCE_DIR}/hiredis-0.14.0-modified.zip
URL_MD5 d093a1868529ee37183d72988936bce3
URL ${CMAKE_CURRENT_SOURCE_DIR}/hiredis-0.14.0.zip
URL_MD5 376af92277701fae52a8c917c3ce3044
CONFIGURE_COMMAND ""
BUILD_COMMAND make
INSTALL_COMMAND make install