支持Head获取对象元信息操作,支持从redis获取元信息;调整内部超时检查逻辑;

This commit is contained in:
zhangchengwei
2018-10-23 20:26:06 +08:00
committed by zhengchao
parent 46db35c9a5
commit 8edd964e21
15 changed files with 1244 additions and 62 deletions

View File

@@ -6,6 +6,9 @@
#include <event2/event.h>
#include <event.h>
#ifdef HEAD_OBJECT_FROM_REDIS
#include <hiredis/async.h>
#endif
#include <MESA/wiredLB.h>
#include "tango_cache_client.h"
@@ -20,6 +23,7 @@ enum CACHE_REQUEST_METHOD
CACHE_REQUEST_PUT,
CACHE_REQUEST_DELETE,
CACHE_REQUEST_DELETE_MUL,
CACHE_REQUEST_HEAD,
};
enum GET_OBJECT_STATE
@@ -67,6 +71,13 @@ struct tango_cache_instance
long max_cnn_host;
u_int32_t upload_block_size; //minio<69>ֶ<EFBFBD><D6B6>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
enum CACHE_ERR_CODE error_code;
#ifdef HEAD_OBJECT_FROM_REDIS
redisAsyncContext *redis_ac;
char redis_key[256];
char redis_ip[128];
int redis_port;
int redis_connecting;
#endif
};
struct multipart_etag_list
@@ -146,7 +157,7 @@ void tango_cache_set_fail_state(struct tango_cache_ctx *ctx, enum CACHE_ERR_CODE
const char *tango_cache_get_errstring(const struct tango_cache_ctx *ctx);
struct tango_cache_ctx *tango_cache_update_prepare(struct tango_cache_instance *instance, struct future* f, struct tango_cache_meta_put *meta);
struct tango_cache_ctx *tango_cache_fetch_prepare(struct tango_cache_instance *instance, struct future* f, struct tango_cache_meta_get *meta);
struct tango_cache_ctx *tango_cache_fetch_prepare(struct tango_cache_instance *instance, enum CACHE_REQUEST_METHOD method, struct future* f, struct tango_cache_meta_get *meta);
struct tango_cache_ctx *tango_cache_delete_prepare(struct tango_cache_instance *instance, struct future* f, const char *objkey);
#endif