HttpClient implementation.
More...
|
| HttpClientImpl (const IOServicePtr &io_service, size_t thread_pool_size=0, bool defer_thread_start=false) |
| Constructor.
|
|
| ~HttpClientImpl () |
| Destructor.
|
|
void | checkPermissions () |
| Check if the current thread can perform thread pool state transition.
|
|
uint16_t | getThreadCount () |
| Fetches the number of threads in the pool.
|
|
asiolink::IOServicePtr | getThreadIOService () |
| Fetches the internal IOService used in multi-threaded mode.
|
|
uint16_t | getThreadPoolSize () |
| Fetches the maximum size of the thread pool.
|
|
bool | isPaused () |
| Indicates if the thread pool is paused.
|
|
bool | isRunning () |
| Indicates if the thread pool is running.
|
|
bool | isStopped () |
| Indicates if the thread pool is stopped.
|
|
void | pause () |
| Pauses the client's thread pool.
|
|
void | resume () |
| Resumes running the client's thread pool.
|
|
void | start () |
| Starts running the client's thread pool, if multi-threaded.
|
|
void | stop () |
| Close all connections, and if multi-threaded, stops the client's thread pool.
|
|
|
ConnectionPoolPtr | conn_pool_ |
| Holds a pointer to the connection pool.
|
|
HttpClient implementation.
Definition at line 1764 of file client.cc.
◆ HttpClientImpl()
isc::http::HttpClientImpl::HttpClientImpl |
( |
const IOServicePtr & | io_service, |
|
|
size_t | thread_pool_size = 0, |
|
|
bool | defer_thread_start = false ) |
|
inline |
Constructor.
If single-threading:
- Creates the connection pool passing in the caller's IOService and a maximum number of connections per URL value of 1. If multi-threading:
- Creates a private IOService
- Creates a thread pool with the thread_pool_size threads
- Creates the connection pool passing the private IOService and the thread_pool_size as the maximum number of connections per URL.
- Parameters
-
io_service | IOService that will drive connection IO in single threaded mode. (Currently ignored in multi-threaded mode) |
thread_pool_size | maximum number of concurrent threads Internally this also sets the maximum number of concurrent connections per URL. |
defer_thread_start | When true, starting of the pool threads is deferred until a subsequent call to start(). In this case the pool's operational state after construction is STOPPED. Otherwise, the thread pool threads will be created and started, with the operational state being RUNNING. Applicable only when thread-pool size is greater than zero. |
Definition at line 1789 of file client.cc.
References conn_pool_, isc::log::DBGLVL_TRACE_BASIC, isc::http::HTTP_CLIENT_MT_STARTED, isc::http::http_logger, and LOG_DEBUG.
◆ ~HttpClientImpl()
isc::http::HttpClientImpl::~HttpClientImpl |
( |
| ) |
|
|
inline |
◆ checkPermissions()
void isc::http::HttpClientImpl::checkPermissions |
( |
| ) |
|
|
inline |
Check if the current thread can perform thread pool state transition.
- Exceptions
-
Definition at line 1825 of file client.cc.
◆ getThreadCount()
uint16_t isc::http::HttpClientImpl::getThreadCount |
( |
| ) |
|
|
inline |
Fetches the number of threads in the pool.
- Returns
- the number of running threads.
Definition at line 1935 of file client.cc.
◆ getThreadIOService()
Fetches the internal IOService used in multi-threaded mode.
- Returns
- A pointer to the IOService, or an empty pointer when in single-threaded mode.
Definition at line 1921 of file client.cc.
◆ getThreadPoolSize()
uint16_t isc::http::HttpClientImpl::getThreadPoolSize |
( |
| ) |
|
|
inline |
Fetches the maximum size of the thread pool.
- Returns
- the maximum size of the thread pool.
Definition at line 1928 of file client.cc.
◆ isPaused()
bool isc::http::HttpClientImpl::isPaused |
( |
| ) |
|
|
inline |
Indicates if the thread pool is paused.
- Returns
- True if the thread pool exists and it is in the PAUSED state, false otherwise.
Definition at line 1909 of file client.cc.
◆ isRunning()
bool isc::http::HttpClientImpl::isRunning |
( |
| ) |
|
|
inline |
Indicates if the thread pool is running.
- Returns
- True if the thread pool exists and it is in the RUNNING state, false otherwise.
Definition at line 1885 of file client.cc.
◆ isStopped()
bool isc::http::HttpClientImpl::isStopped |
( |
| ) |
|
|
inline |
Indicates if the thread pool is stopped.
- Returns
- True if the thread pool exists and it is in the STOPPED state, false otherwise.
Definition at line 1897 of file client.cc.
◆ pause()
void isc::http::HttpClientImpl::pause |
( |
| ) |
|
|
inline |
Pauses the client's thread pool.
Suspends thread pool event processing.
- Exceptions
-
Definition at line 1859 of file client.cc.
References isc_throw.
◆ resume()
void isc::http::HttpClientImpl::resume |
( |
| ) |
|
|
inline |
Resumes running the client's thread pool.
Resumes thread pool event processing.
- Exceptions
-
Definition at line 1872 of file client.cc.
References isc_throw.
◆ start()
void isc::http::HttpClientImpl::start |
( |
| ) |
|
|
inline |
Starts running the client's thread pool, if multi-threaded.
Definition at line 1832 of file client.cc.
◆ stop()
void isc::http::HttpClientImpl::stop |
( |
| ) |
|
|
inline |
◆ conn_pool_
ConnectionPoolPtr isc::http::HttpClientImpl::conn_pool_ |
The documentation for this class was generated from the following file: