feat(hos_get_error_msg和hos_get_error_num): 增加hos创建失败的错误输出

This commit is contained in:
彭宣正
2021-03-29 18:42:20 +08:00
parent b1e698ab82
commit 88a38be092
3 changed files with 30 additions and 2 deletions

View File

@@ -0,0 +1 @@
/usr/local/lib64/

View File

@@ -84,6 +84,18 @@ hos_info_t *hash_hos_info[MAX_HOS_CLIENT_THREAD_NUM];
size_t *hos_cache;//记录当前hos缓存了多少数据
size_t fd_info[MAX_HOS_CLIENT_THREAD_NUM][MAX_HOS_CLIENT_FD_NUM + 1]; //fd 实际从3开始 fd[thread_id][0]记录register的fdfd[thread_id][1]记录inject的fd
Aws::SDKOptions g_options;
static char g_hos_error_msg[1024];
static size_t g_hos_error_num;
char *hos_get_error_msg()
{
return g_hos_error_msg;
}
size_t hos_get_error_num()
{
return g_hos_error_num;
}
static inline size_t get_current_ms()
{
@@ -201,6 +213,9 @@ hos_client_handle hos_client_create(const char *serverip, size_t port, const cha
{
if (!serverip || !accesskeyid || !secretkey)
{
g_hos_error_num = HOS_PARAMETER_ERROR;
snprintf(g_hos_error_msg, sizeof(g_hos_error_msg) - 1, "Error: Parameter is null. serverip:%s,port:%lu, accesskeyid:%s, secretkey:%s, pool_size:%lu\n",
serverip, port, accesskeyid, secretkey, pool_size);
return NULL;
}
@@ -234,6 +249,8 @@ hos_client_handle hos_client_create(const char *serverip, size_t port, const cha
Aws::ShutdownAPI(g_options);
free(g_hos_handle);
g_hos_handle = NULL;
g_hos_error_num = (size_t)outcome.GetError().GetErrorType() + 1;
snprintf(g_hos_error_msg, sizeof(g_hos_error_msg) - 1, outcome.GetError().GetMessage().c_str());
return NULL;
}

View File

@@ -76,15 +76,25 @@ enum s3errors
typedef void (*put_finished_callback)(bool, const char *, const char *, const char *, void *);
/*************************************************************************************
* 函数名: hos_client_init
* 函数名: hos_client_handle
* 参数: const char *serverip 目的地址,如"192.168.44.12"
* size_t port 端口号
* const char *accesskeyid AWS access key ID如”default“
* const char *secretkey AWS secret key如”default“
* size_t thread_sum 线程总数
* 返回值: 成功返回一个非空句柄失败返回NULL。(失败原因都是因为输入参数不合法)
* 返回值: 成功返回一个非空句柄失败返回NULL。
*************************************************************************************/
hos_client_handle hos_client_create(const char *serverip, size_t port, const char *accesskeyid, const char *secretkey, size_t pool_size);
/*************************************************************************************
* 函数名: hos_get_error_msg
* 返回值: hos_client_create创建失败的原因
*************************************************************************************/
char *hos_get_error_msg();
/*************************************************************************************
* 函数名: hos_get_error_num
* 返回值: hos_client_create创建失败的错误码
*************************************************************************************/
size_t hos_get_error_num();
/*************************************************************************************
* 函数名: hos_create_bucket
* 参数: hos_client_handle handle 非空句柄