修改客户端头文件
This commit is contained in:
19
cache/include/tango_cache_client.h
vendored
19
cache/include/tango_cache_client.h
vendored
@@ -5,6 +5,7 @@
|
|||||||
#include <event.h>
|
#include <event.h>
|
||||||
|
|
||||||
#include "tfe_future.h"
|
#include "tfe_future.h"
|
||||||
|
#include "proxy_cache.h"
|
||||||
|
|
||||||
enum CACHE_ERR_CODE
|
enum CACHE_ERR_CODE
|
||||||
{
|
{
|
||||||
@@ -63,24 +64,14 @@ enum CACHE_HTTP_HDR_TYPE
|
|||||||
HDR_CONTENT_NUM,
|
HDR_CONTENT_NUM,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct put_time_strategy
|
|
||||||
{
|
|
||||||
time_t relative_ttl; //PUT: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣻0<E4A3BB><30>ʾʹ<CABE><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ
|
|
||||||
time_t absulote_lastmod;//PUT:
|
|
||||||
};
|
|
||||||
struct get_time_strategy
|
|
||||||
{
|
|
||||||
time_t max_age; //GET:
|
|
||||||
time_t min_fresh;//GET:
|
|
||||||
};
|
|
||||||
struct tango_cache_meta
|
struct tango_cache_meta
|
||||||
{
|
{
|
||||||
const char* url;
|
const char* url; //<2F><><EFBFBD><EFBFBD>:URL<52><4C><EFBFBD>ǽṹ<C7BD><E1B9B9><EFBFBD><EFBFBD>־:<3A>ļ<EFBFBD><C4BC><EFBFBD>
|
||||||
const char* std_hdr[HDR_CONTENT_NUM]; //<2F><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"Content-Type:"<22><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
const char* std_hdr[HDR_CONTENT_NUM]; //<2F><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"Content-Type:"<22><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
const char* other_hdr; //<2F><><EFBFBD>Ȳ<F3B3A4B6><C8B2>ܳ<EFBFBD><DCB3><EFBFBD>1535<33>ֽڣ<D6BD>GETʱ<54><CAB1>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
const char* other_hdr; //<2F><><EFBFBD>Ȳ<F3B3A4B6><C8B2>ܳ<EFBFBD><DCB3><EFBFBD>1535<33>ֽڣ<D6BD>GETʱ<54><CAB1>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
union{
|
union{
|
||||||
struct put_time_strategy put;//TODO
|
struct response_freshness put;//TODO
|
||||||
struct get_time_strategy get;
|
struct request_freshness get;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -101,7 +92,7 @@ struct tango_cache_instance *tango_cache_instance_new(struct event_base* evbase,
|
|||||||
int tango_cache_fetch(struct tango_cache_instance *instance, struct future* future, struct tango_cache_meta *meta);
|
int tango_cache_fetch(struct tango_cache_instance *instance, struct future* future, struct tango_cache_meta *meta);
|
||||||
|
|
||||||
/*UPLOAD<41>ӿڵ<D3BF>API*/
|
/*UPLOAD<41>ӿڵ<D3BF>API*/
|
||||||
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>filename<EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>KEY<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CACHE_OBJECT_KEY_HASH_SWITCH=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ϣʱ<CFA3><CAB1><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>objectkey<EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>KEY<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CACHE_OBJECT_KEY_HASH_SWITCH=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>ϣʱ<CFA3><CAB1><EFBFBD><EFBFBD>
|
||||||
//<2F><><EFBFBD><EFBFBD>0<EFBFBD><30>ʾ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><0<><30>ʾʧ<CABE>ܣ<EFBFBD><DCA3><EFBFBD>ͬ
|
//<2F><><EFBFBD><EFBFBD>0<EFBFBD><30>ʾ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><0<><30>ʾʧ<CABE>ܣ<EFBFBD><DCA3><EFBFBD>ͬ
|
||||||
int tango_cache_upload_once_data(struct tango_cache_instance *instance, struct future* future,
|
int tango_cache_upload_once_data(struct tango_cache_instance *instance, struct future* future,
|
||||||
enum PUT_MEMORY_COPY_WAY way, const char *data, size_t size,
|
enum PUT_MEMORY_COPY_WAY way, const char *data, size_t size,
|
||||||
|
|||||||
11
cache/tango_cache_client.cpp
vendored
11
cache/tango_cache_client.cpp
vendored
@@ -209,7 +209,7 @@ struct tango_cache_ctx *tango_cache_update_prepare(struct tango_cache_instance *
|
|||||||
struct tango_cache_ctx *ctx;
|
struct tango_cache_ctx *ctx;
|
||||||
char buffer[256]={0};
|
char buffer[256]={0};
|
||||||
int other_len;
|
int other_len;
|
||||||
time_t expires, now;
|
time_t expires, now, last_modify;
|
||||||
|
|
||||||
if((u_int64_t)instance->statistic.memory_used >= instance->cache_limit_size)
|
if((u_int64_t)instance->statistic.memory_used >= instance->cache_limit_size)
|
||||||
{
|
{
|
||||||
@@ -236,17 +236,18 @@ struct tango_cache_ctx *tango_cache_update_prepare(struct tango_cache_instance *
|
|||||||
|
|
||||||
//Expires<65>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʱ
|
//Expires<65>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD>ڻ<EFBFBD><DABB><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʱ
|
||||||
now = time(NULL);
|
now = time(NULL);
|
||||||
expires = (meta->put.relative_ttl==0||meta->put.relative_ttl>instance->relative_ttl)?instance->relative_ttl:meta->put.relative_ttl;
|
expires = (meta->put.timeout==0||meta->put.timeout>instance->relative_ttl)?instance->relative_ttl:meta->put.timeout;
|
||||||
if(expires_timestamp2hdr_str(now + expires, buffer, 256))
|
if(expires_timestamp2hdr_str(now + expires, buffer, 256))
|
||||||
{
|
{
|
||||||
ctx->headers = curl_slist_append(ctx->headers, buffer);
|
ctx->headers = curl_slist_append(ctx->headers, buffer);
|
||||||
}
|
}
|
||||||
//Last-Modify<66>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD><EFBFBD>GETʱ<54>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
//Last-Modify<66>ֶΣ<D6B6><CEA3><EFBFBD><EFBFBD><EFBFBD>GETʱ<54>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if(meta->put.absulote_lastmod == 0)
|
last_modify = (meta->put.date > meta->put.last_modified)?meta->put.date:meta->put.last_modified;
|
||||||
|
if(last_modify == 0)
|
||||||
{
|
{
|
||||||
meta->put.absulote_lastmod = get_gmtime_timestamp(now);
|
last_modify = get_gmtime_timestamp(now);
|
||||||
}
|
}
|
||||||
sprintf(buffer, "x-amz-meta-lm: %lu", meta->put.absulote_lastmod);
|
sprintf(buffer, "x-amz-meta-lm: %lu", last_modify);
|
||||||
ctx->headers = curl_slist_append(ctx->headers, buffer);
|
ctx->headers = curl_slist_append(ctx->headers, buffer);
|
||||||
//<2F>б<EFBFBD><D0B1><EFBFBD>֧<EFBFBD>ֵı<D6B5>ͷ<D7BC><CDB7>
|
//<2F>б<EFBFBD><D0B1><EFBFBD>֧<EFBFBD>ֵı<D6B5>ͷ<D7BC><CDB7>
|
||||||
for(int i=0; i<HDR_CONTENT_NUM; i++)
|
for(int i=0; i<HDR_CONTENT_NUM; i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user