This commit is contained in:
aozhiwei 2019-07-30 15:49:07 +08:00
parent dd38a6a7c7
commit 21332b63ad
2 changed files with 11 additions and 0 deletions

View File

@ -2,6 +2,7 @@
#include <thread>
#include <mutex>
#include <atomic>
#include <condition_variable>
#include <curl/curl.h>
@ -347,6 +348,7 @@ namespace f8
long long hash_code)
{
++pending_num;
AsyncHttpRequest* p = new AsyncHttpRequest();
{
p->context_id = ++curr_seqid;
@ -401,6 +403,7 @@ namespace f8
public:
long long curr_seqid = 0;
std::atomic<long long> pending_num = {0};
std::map<long long, AsyncHttpRequest*> async_http_hash;
unsigned short exec_async_http_msgid = 0;
@ -418,6 +421,7 @@ namespace f8
MsgQueue::Instance()->RegisterCallBack(impl_->exec_async_http_msgid,
[] (const a8::XParams& param)
{
--(HttpClientPool::Instance()->impl_->pending_num);
if (param.param1.GetInt() == AHE_NO_ERROR) {
a8::XObject* xobj = (a8::XObject*)param.param2.GetUserData();
HttpClientPool::Instance()->impl_->AsyncHttpOnOk(param.sender, *xobj);
@ -453,4 +457,9 @@ namespace f8
impl_->InternalExecAsyncHttp(2, url, url_params, content.c_str(), headers, param, on_ok, on_error, hash_code);
}
long long HttpClientPool::GetPendingNum()
{
return impl_->pending_num;
}
}

View File

@ -28,6 +28,8 @@ namespace f8
void HttpPost(a8::XParams param, AsyncHttpOnOkFunc on_ok, AsyncHttpOnErrorFunc on_error,
const char* url, a8::XObject url_params, const std::string& content,
long long hash_code, a8::XObject* headers = nullptr);
//获取执行中的数量
long long GetPendingNum();
private:
HttpClientPoolImpl* impl_ = nullptr;