重构缓存策略中的部分函数。

This commit is contained in:
zhengchao
2018-11-13 11:56:41 +08:00
parent 03a141400d
commit a5c74ada70
2 changed files with 77 additions and 53 deletions

View File

@@ -2,6 +2,7 @@
#include <event2/event.h>
#include <event2/buffer.h>
#include <tfe_future.h>
#include <MESA/Maat_rule.h>
enum cache_query_status
{
@@ -13,7 +14,9 @@ enum cache_query_status
WEB_CACHE_HIT
};
struct cache_handle;
struct cache_handle* create_web_cache_handle(const char* profile_path, const char* section, struct event_base* gc_evbase, void *logger);
struct cache_handle* create_web_cache_handle(const char* profile_path, const char* section,
struct event_base* gc_evbase, Maat_feather_t feather, void *logger);
struct cached_meta
{
size_t content_length;
@@ -25,7 +28,8 @@ const struct cached_meta* cache_query_result_read_meta(future_result_t * result)
size_t cache_query_result_get_data(future_result_t * result, const unsigned char** pp_data);
int web_cache_async_query(struct cache_handle* handle, unsigned int thread_id,
const struct tfe_http_half * request, struct future* f);
const struct tfe_http_half * request, struct cache_mid** mid, struct future* f);
enum cache_query_result_type
@@ -48,11 +52,12 @@ enum cache_pending_result
PENDING_RESULT_MISS
};
struct cache_mid;
void cache_mid_clear(struct cache_mid **mid);
const struct cached_meta* cache_pending_result_read_meta(future_result_t * result);
enum cache_pending_result web_cache_async_pending(struct cache_handle* handle, unsigned int thread_id,
const struct tfe_http_half * request, struct cache_mid **mid, struct future* f_revalidate);
void cache_mid_free(struct cache_mid **mid);