summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--example/performance/HosClientPerformance.cpp2
-rw-r--r--src/hos_client.cpp17
-rw-r--r--src/hos_client.h9
3 files changed, 24 insertions, 4 deletions
diff --git a/example/performance/HosClientPerformance.cpp b/example/performance/HosClientPerformance.cpp
index 4f7d4c4a..c9b10359 100644
--- a/example/performance/HosClientPerformance.cpp
+++ b/example/performance/HosClientPerformance.cpp
@@ -482,6 +482,7 @@ int main(int argc, char *argv[])
perror(log_name);
return -1;
}
+ hos_init_api();
//创建client
hos_client_handle handle = hos_client_create(conf.endpoint, "default", "default", conf.pool_size);
if (handle == NULL)
@@ -552,6 +553,7 @@ int main(int argc, char *argv[])
//time /= test_times;
//printf("hos upload finished spent %llu ns\n", time);
}
+ hos_shutdown_api();
fclose(log);
return 0;
diff --git a/src/hos_client.cpp b/src/hos_client.cpp
index 8879a8c6..290c4311 100644
--- a/src/hos_client.cpp
+++ b/src/hos_client.cpp
@@ -50,6 +50,7 @@ typedef struct hos_client_handle_s
hos_info_t *hash_hos_info[MAX_HOS_CLIENT_THREAD_NUM];
size_t fd_info[MAX_HOS_CLIENT_THREAD_NUM][MAX_HOS_CLIENT_FD_NUM];
+Aws::SDKOptions options;
static size_t hash_get_min_free_fd(size_t thread_id)
{
@@ -115,6 +116,18 @@ void set_thread_sum(hos_client_handle client, size_t thread_sum)
return ;
}
+void hos_init_api()
+{
+ //options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug;
+ Aws::InitAPI(options);
+}
+
+void hos_shutdown_api()
+{
+ //options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug;
+ Aws::ShutdownAPI(options);
+}
+
hos_client_handle hos_client_create(const char *endpoint, const char *accesskeyid, const char *secretkey, size_t pool_size)
{
if (!endpoint || !accesskeyid || !secretkey)
@@ -122,9 +135,6 @@ hos_client_handle hos_client_create(const char *endpoint, const char *accesskeyi
return NULL;
}
- Aws::SDKOptions options;
- //options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug;
- Aws::InitAPI(options);
hos_client_handle handle = (hos_client_handle)malloc(sizeof(hos_client_handle_t));
memset(handle, 0, sizeof(hos_client_handle_t));
@@ -547,7 +557,6 @@ int hos_client_destory(hos_client_handle handle)
delete handle->S3Client;
Aws::Vector<Aws::S3::Model::Bucket>().swap(handle->buckets);
- Aws::ShutdownAPI((handle->options));
for (i = 0; i < handle->thread_sum; i++)
{
diff --git a/src/hos_client.h b/src/hos_client.h
index bf3cde94..a871f1cb 100644
--- a/src/hos_client.h
+++ b/src/hos_client.h
@@ -75,6 +75,15 @@ enum s3errors
typedef void (*put_finished_callback)(bool, const char *, void *);
+
+/*************************************************************************************
+ * 函数名: hos_init_api
+*************************************************************************************/
+void hos_init_api();
+/*************************************************************************************
+ * 函数名: hos_shutdown_api
+*************************************************************************************/
+void hos_shutdown_api();
/*************************************************************************************
* 函数名: hos_client_init
* 参数: const char *endpoint 目的地址,如”http://192.168.44.12:9098/hos“