Client get Response
from a responding Service
by sending a Request.
More...
#include <client.h>
template<typename Request, typename Response>
class apollo::cyber::Client< Request, Response >
Client get Response
from a responding Service
by sending a Request.
- Template Parameters
-
- Warning
- One Client can only request one Service
◆ CallbackType
template<typename Request, typename Response>
◆ Promise
template<typename Request, typename Response>
◆ SharedFuture
template<typename Request, typename Response>
◆ SharedPromise
template<typename Request, typename Response>
◆ SharedRequest
template<typename Request, typename Response>
◆ SharedResponse
template<typename Request, typename Response>
◆ Client() [1/2]
template<typename Request, typename Response>
Construct a new Client object.
- Parameters
-
node_name | used to fill RoleAttribute |
service_name | service name the Client can request |
◆ Client() [2/2]
template<typename Request, typename Response>
forbid Constructing a new Client object with empty params
◆ ~Client()
template<typename Request, typename Response>
◆ AsyncSendRequest() [1/3]
template<typename Request , typename Response >
Send Request shared ptr asynchronously.
◆ AsyncSendRequest() [2/3]
template<typename Request , typename Response >
Client< Request, Response >::SharedFuture Client::AsyncSendRequest |
( |
const Request & |
request | ) |
|
Send Request object asynchronously.
◆ AsyncSendRequest() [3/3]
template<typename Request , typename Response >
Send Request shared ptr asynchronously and invoke cb
after we get response.
- Parameters
-
request | Request shared ptr |
cb | callback function after we get response |
- Returns
- SharedFuture a
std::future
shared ptr
◆ Destroy()
template<typename Request , typename Response >
◆ Init()
template<typename Request , typename Response >
Init the Client.
- Returns
- true if init successfully
-
false if init failed
◆ SendRequest() [1/2]
template<typename Request , typename Response >
Request the Service with a shared ptr Request type.
- Parameters
-
request | shared ptr of Request type |
timeout_s | request timeout, if timeout, response will be empty |
- Returns
- SharedResponse result of this request
◆ SendRequest() [2/2]
template<typename Request , typename Response >
Client< Request, Response >::SharedResponse Client::SendRequest |
( |
const Request & |
request, |
|
|
const std::chrono::seconds & |
timeout_s = std::chrono::seconds(5) |
|
) |
| |
Request the Service with a Request object.
- Parameters
-
request | Request object |
timeout_s | request timeout, if timeout, response will be empty |
- Returns
- SharedResponse result of this request
◆ ServiceIsReady()
template<typename Request , typename Response >
bool Client::ServiceIsReady |
( |
| ) |
const |
|
virtual |
◆ WaitForService()
template<typename Request, typename Response>
template<typename RatioT = std::milli>
bool apollo::cyber::Client< Request, Response >::WaitForService |
( |
std::chrono::duration< int64_t, RatioT > |
timeout = std::chrono::duration<int64_t, RatioT>(-1) | ) |
|
|
inline |
wait for the connection with the Service established
- Template Parameters
-
RatioT | timeout unit, default is std::milli |
- Parameters
-
timeout | wait time in unit of RatioT |
- Returns
- true if the connection established
-
false if timeout
The documentation for this class was generated from the following file: