summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/cache_evbase_client.h4
-rw-r--r--src/include/tango_cache_client.h17
2 files changed, 17 insertions, 4 deletions
diff --git a/src/include/cache_evbase_client.h b/src/include/cache_evbase_client.h
index feab191..991015a 100644
--- a/src/include/cache_evbase_client.h
+++ b/src/include/cache_evbase_client.h
@@ -18,7 +18,8 @@ struct cache_evbase_instance
struct cache_evbase_ctx
{
- size_t object_size; //tango_ctx�������Ա�޷����ع�����ֱ�ӻ�ȡ�Ļ����ڶ�дһ��������
+ size_t object_size; //tango_ctx�������Ա�޷����ع�����ֱ�ӻ�ȡ�Ļ����ڶ�дһ��������
+ struct evbuffer *evbuf;
struct tango_cache_ctx *ctx;
struct tango_losf_meta *losf_meta; //LOSFһ�����ϴ�ʱû��ctx
struct cache_evbase_instance *instance_asyn;
@@ -38,6 +39,7 @@ struct tango_cache_parameter *cache_evbase_parameter_new(const char* profile_pat
/*����ʵ�����̰߳�ȫ���ڲ�������һ���߳�*/
struct cache_evbase_instance *cache_evbase_instance_new(struct tango_cache_parameter *param, void *runtimelog);
+struct event_base *cache_evbase_get_event_base(struct cache_evbase_instance *instance);
/******************************************* GET�ӿ� ****************************************/
//�ɹ�����0��ʧ�ܷ���-1��future�ص���������������߳���ִ�У���ͬ
diff --git a/src/include/tango_cache_client.h b/src/include/tango_cache_client.h
index 07e43f2..1a3493a 100644
--- a/src/include/tango_cache_client.h
+++ b/src/include/tango_cache_client.h
@@ -26,6 +26,7 @@ enum CACHE_ERR_CODE
CACHE_ERR_EVBUFFER = -112,
CACHE_UPDATE_CANCELED = -113,
CACHE_ERR_INSTANCE_ID = -114,
+ CACHE_ERR_BAD_REQUEST = -115,
};
struct cache_statistics
@@ -43,6 +44,8 @@ struct cache_statistics
long long put_err_redis; //UPLOAD redisʧ�ܵĴ���
long long put_cancel; //UPLOAD Cancel����
long long put_losf_num; //LOSF�ϲ���ĸ���
+ long long put_multipart; //�����˷ֶ��ϴ��Ķ������
+ long long put_duplicate; //LOSF�ظ���
long long del_recv_num; //����DELETE�Ĵ���
long long del_succ_num; //DELETE�ɹ��Ĵ���
long long del_error_num; //DELETEʧ�ܵĴ���
@@ -89,18 +92,26 @@ enum OBJECT_LOCATION
OBJECT_IN_REDIS
};
+//Range֧��3��: bytes=x-y; bytes=x-; bytes=-y
+struct tango_cache_get_range
+{
+ int64_t start_offset; // -1��ʾ������
+ int64_t end_offset; // -1��ʾ������
+};
+
struct tango_cache_meta_get
{
const char* url; //����:URL���ǽṹ����־:�ļ�·������CACHE_OBJECT_KEY_HASH_SWITCH=0ʱ��󳤶�256�ֽڣ�=1ʱ������
struct request_freshness get;
+ struct tango_cache_get_range *range; //����ͷRange
};
//promise_success�Ľ��result
struct tango_cache_result
{
const char *data_frag; //���typeΪRESULT_TYPE_HEADER��ÿ��ͷ��������һ������(HTTP1.1��ʽ)
- size_t size;
- size_t tlength; //������ܳ��ȣ��ص�ʱ����Ч
+ size_t size; //����Ƭ�εij���
+ size_t tlength;//��������response body���Ƶ��ܳ���(��Range����ͷʱ������Ĵ�С)���ص�ʱ����Ч
enum CACHE_RESULT_TYPE type;
enum OBJECT_LOCATION location;
};
@@ -129,7 +140,7 @@ enum PUT_MEMORY_COPY_WAY
enum EVBUFFER_COPY_WAY
{
EVBUFFER_MOVE=0,//evbuffer_add_buffer
- EVBUFFER_COPY, //evbuffer_add_buffer_reference
+ EVBUFFER_COPY, //evbuffer_add_buffer_reference�����Ƽ�
};
enum CACHE_HTTP_HDR_TYPE