9#include <condition_variable>
13struct aws_http_connection_manager;
27 std::function<void(std::shared_ptr<HttpClientConnection>,
int errorCode)>;
66 :
public std::enable_shared_from_this<HttpClientConnectionManager>
90 std::future<void> InitiateShutdown()
noexcept;
99 static std::shared_ptr<HttpClientConnectionManager> NewClientConnectionManager(
110 aws_http_connection_manager *m_connectionManager;
113 std::promise<void> m_shutdownPromise;
114 std::atomic<bool> m_releaseInvoked;
116 static void s_onConnectionSetup(
117 aws_http_connection *connection,
119 void *userData)
noexcept;
121 static void s_shutdownCompleted(
void *userData)
noexcept;
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition HttpConnectionManager.h:67
Definition HttpConnectionManager.h:33
HttpClientConnectionManagerOptions & operator=(const HttpClientConnectionManagerOptions &rhs)=default
HttpClientConnectionOptions ConnectionOptions
Definition HttpConnectionManager.h:45
size_t MaxConnections
Definition HttpConnectionManager.h:50
HttpClientConnectionManagerOptions & operator=(HttpClientConnectionManagerOptions &&rhs)=default
HttpClientConnectionManagerOptions(HttpClientConnectionManagerOptions &&rhs)=default
bool EnableBlockingShutdown
Definition HttpConnectionManager.h:59
HttpClientConnectionManagerOptions(const HttpClientConnectionManagerOptions &rhs)=default
Definition HttpConnection.h:347
Definition HttpConnectionManager.cpp:177
std::function< void(std::shared_ptr< HttpClientConnection >, int errorCode)> OnClientConnectionAvailable
Definition HttpConnectionManager.h:27
aws_allocator Allocator
Definition Allocator.h:14
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
Definition Allocator.h:11