|
asio-grpc v3.5.0
Asynchronous gRPC with Asio/unified executors
|
(experimental) I/O object for client-side, unary rpcs More...
#include <agrpc/client_callback.hpp>
Inheritance diagram for agrpc::BasicClientUnaryReactor< Executor >:
Collaboration diagram for agrpc::BasicClientUnaryReactor< Executor >:Classes | |
| struct | rebind_executor |
| Rebind the BasicClientUnaryReactor to another executor. More... | |
Public Types | |
| using | executor_type = Executor |
| The executor type. | |
Public Member Functions | |
| template<class StubAsync , class Request , class Response > | |
| void | start (detail::AsyncUnaryReactorFn< StubAsync, Request, Response > fn, StubAsync *stub, const Request &request, Response &response) |
| Start a codegen-ed rpc. | |
| template<class CompletionToken = detail::DefaultCompletionTokenT<Executor>> | |
| auto | wait_for_initial_metadata (CompletionToken &&token=CompletionToken{}) |
| Wait for initial metadata. | |
| template<class CompletionToken = detail::DefaultCompletionTokenT<Executor>> | |
| auto | wait_for_finish (CompletionToken &&token=CompletionToken{}) |
| Wait for finish. | |
| const Executor & | get_executor () const noexcept |
| Get the executor. | |
| grpc::ClientContext & | context () noexcept |
Get the underlying grpc::ClientContext | |
| const grpc::ClientContext & | context () const noexcept |
Get the underlying grpc::ClientContext (const overload) | |
(experimental) I/O object for client-side, unary rpcs
Create an object of this type using agrpc::make_reactor/agrpc::allocate_reactor. This class should only be used if the unary rpc wants to receive initial metadata without waiting for the server's response message.
Example:
Based on .proto file:
| Executor | The executor type. |
Per-Operation Cancellation
All. Cancellation will merely interrupt the act of waiting and does not cancel the underlying rpc.
|
inline |
Start a codegen-ed rpc.
The response object must remain valid until the rpc is finished. May only be called once.
Stub::async::Method.
|
inline |
Wait for initial metadata.
Only one wait for initial metadata may be outstanding at any time.
Completion signature is void(error_code, bool). If the bool is false then the rpc failed (cancelled, disconnected, deadline reached, ...).
|
inline |
Wait for finish.
Wait until all operations associated with this rpc have completed. Only one wait for finish may be outstanding at any time.
Completion signature is void(error_code, grpc::Status). Once this operation completes the response passed to start() will have been be populated if grpc::Status::ok() is true.
|
inlinenodiscardnoexceptinherited |
Get the executor.
Thread-safe