diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/cache_evbase_client.h | 4 | ||||
| -rw-r--r-- | src/include/tango_cache_client.h | 17 |
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 |
