asio-grpc/2.9.2

Asynchronous gRPC with Asio/unified executors
Recipe info
2024-02-26

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
asio-grpc/2.9.2

Using asio-grpc

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
asio-grpc/2.9.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("asio-grpc/2.9.2")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): asio-grpc
  • CMake target name(s): asio-grpc::asio-grpc
  • pkg-config file name(s): asio-grpc.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(asio-grpc REQUIRED)
# ...
target_link_libraries(YOUR_TARGET asio-grpc::asio-grpc)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the asio-grpc homepage listed above:

#include "agrpc/alarm.hpp"
#include "agrpc/asio_grpc.hpp"
#include "agrpc/bind_allocator.hpp"
#include "agrpc/cancel_safe.hpp"
#include "agrpc/client_rpc.hpp"
#include "agrpc/default_completion_token.hpp"
#include "agrpc/default_server_rpc_traits.hpp"
#include "agrpc/detail/alarm.hpp"
#include "agrpc/detail/algorithm.hpp"
#include "agrpc/detail/allocate.hpp"
#include "agrpc/detail/allocate_operation.hpp"
#include "agrpc/detail/allocation_type.hpp"
#include "agrpc/detail/asio_forward.hpp"
#include "agrpc/detail/asio_utils.hpp"
#include "agrpc/detail/associated_completion_handler.hpp"
#include "agrpc/detail/association.hpp"
#include "agrpc/detail/association_asio.hpp"
#include "agrpc/detail/association_execution.hpp"
#include "agrpc/detail/async_initiate.hpp"
#include "agrpc/detail/atomic.hpp"
#include "agrpc/detail/atomic_bool_stop_context.hpp"
#include "agrpc/detail/atomic_intrusive_queue.hpp"
#include "agrpc/detail/backoff.hpp"
#include "agrpc/detail/basic_sender.hpp"
#include "agrpc/detail/buffer_allocator.hpp"
#include "agrpc/detail/cancel_safe.hpp"
#include "agrpc/detail/client_rpc_base.hpp"
#include "agrpc/detail/client_rpc_context_base.hpp"
#include "agrpc/detail/client_rpc_sender.hpp"
#include "agrpc/detail/config.hpp"
#include "agrpc/detail/coroutine_traits.hpp"
#include "agrpc/detail/create_and_submit_no_arg_operation.hpp"
#include "agrpc/detail/deallocate_on_complete.hpp"
#include "agrpc/detail/default_completion_token.hpp"
#include "agrpc/detail/execution.hpp"
#include "agrpc/detail/execution_asio.hpp"
#include "agrpc/detail/execution_stdexec.hpp"
#include "agrpc/detail/execution_unifex.hpp"
#include "agrpc/detail/executor_with_default.hpp"
#include "agrpc/detail/forward.hpp"
#include "agrpc/detail/functional.hpp"
#include "agrpc/detail/get_completion_queue.hpp"
#include "agrpc/detail/grpc_completion_queue_event.hpp"
#include "agrpc/detail/grpc_context.hpp"
#include "agrpc/detail/grpc_context.ipp"
#include "agrpc/detail/grpc_context_implementation.hpp"
#include "agrpc/detail/grpc_context_implementation.ipp"
#include "agrpc/detail/grpc_executor_base.hpp"
#include "agrpc/detail/grpc_executor_options.hpp"
#include "agrpc/detail/grpc_initiate.hpp"
#include "agrpc/detail/grpc_initiator.hpp"
#include "agrpc/detail/grpc_sender.hpp"
#include "agrpc/detail/grpc_submit.hpp"
#include "agrpc/detail/health_check_repeatedly_request.hpp"
#include "agrpc/detail/health_check_service.hpp"
#include "agrpc/detail/initiate_sender_implementation.hpp"
#include "agrpc/detail/intrusive_circular_list.hpp"
#include "agrpc/detail/intrusive_list.hpp"
#include "agrpc/detail/intrusive_list_hook.hpp"
#include "agrpc/detail/intrusive_queue.hpp"
#include "agrpc/detail/intrusive_slist.hpp"
#include "agrpc/detail/manual_reset_event.hpp"
#include "agrpc/detail/manual_reset_event_operation.ipp"
#include "agrpc/detail/math.hpp"
#include "agrpc/detail/memory.hpp"
#include "agrpc/detail/memory_resource.hpp"
#include "agrpc/detail/name.hpp"
#include "agrpc/detail/namespace_cpp20.hpp"
#include "agrpc/detail/notify_on_state_change.hpp"
#include "agrpc/detail/notify_when_done.hpp"
#include "agrpc/detail/notify_when_done_event.hpp"
#include "agrpc/detail/operation.hpp"
#include "agrpc/detail/operation_base.hpp"
#include "agrpc/detail/operation_handle.hpp"
#include "agrpc/detail/operation_implementation.hpp"
#include "agrpc/detail/operation_initiation.hpp"
#include "agrpc/detail/pool_resource.hpp"
#include "agrpc/detail/pool_resource_allocator.hpp"
#include "agrpc/detail/query_grpc_context.hpp"
#include "agrpc/detail/receiver.hpp"
#include "agrpc/detail/register_awaitable_rpc_handler.hpp"
#include "agrpc/detail/register_callback_rpc_handler.hpp"
#include "agrpc/detail/register_rpc_handler_asio_base.hpp"
#include "agrpc/detail/register_rpc_handler_base.hpp"
#include "agrpc/detail/register_sender_rpc_handler.hpp"
#include "agrpc/detail/register_yield_rpc_handler.hpp"
#include "agrpc/detail/repeatedly_request.hpp"
#include "agrpc/detail/repeatedly_request_awaitable.hpp"
#include "agrpc/detail/repeatedly_request_base.hpp"
#include "agrpc/detail/repeatedly_request_context.hpp"
#include "agrpc/detail/repeatedly_request_sender.hpp"
#include "agrpc/detail/rethrow_first_arg.hpp"
#include "agrpc/detail/rpc.hpp"
#include "agrpc/detail/rpc_context.hpp"
#include "agrpc/detail/rpc_executor_base.hpp"
#include "agrpc/detail/rpc_request.hpp"
#include "agrpc/detail/rpc_type.hpp"
#include "agrpc/detail/schedule_sender.hpp"
#include "agrpc/detail/sender_implementation.hpp"
#include "agrpc/detail/sender_implementation_operation.hpp"
#include "agrpc/detail/sender_of.hpp"
#include "agrpc/detail/server_rpc_base.hpp"
#include "agrpc/detail/server_rpc_context_base.hpp"
#include "agrpc/detail/server_rpc_notify_when_done_base.hpp"
#include "agrpc/detail/server_rpc_notify_when_done_mixin.hpp"
#include "agrpc/detail/server_rpc_sender.hpp"
#include "agrpc/detail/server_rpc_with_request.hpp"
#include "agrpc/detail/server_write_reactor.hpp"
#include "agrpc/detail/serving_status.hpp"
#include "agrpc/detail/start_server_rpc.hpp"
#include "agrpc/detail/stop_callback_lifetime.hpp"
#include "agrpc/detail/submit.hpp"
#include "agrpc/detail/test.hpp"
#include "agrpc/detail/tuple.hpp"
#include "agrpc/detail/type_erased_completion_handler.hpp"
#include "agrpc/detail/unbind.hpp"
#include "agrpc/detail/use_sender.hpp"
#include "agrpc/detail/utility.hpp"
#include "agrpc/detail/wait.hpp"
#include "agrpc/detail/waiter.hpp"
#include "agrpc/detail/work_tracking_completion_handler.hpp"
#include "agrpc/get_completion_queue.hpp"
#include "agrpc/grpc_context.hpp"
#include "agrpc/grpc_executor.hpp"
#include "agrpc/grpc_initiate.hpp"
#include "agrpc/grpc_stream.hpp"
#include "agrpc/health_check_service.hpp"
#include "agrpc/notify_on_state_change.hpp"
#include "agrpc/notify_when_done.hpp"
#include "agrpc/read.hpp"
#include "agrpc/register_awaitable_rpc_handler.hpp"
#include "agrpc/register_callback_rpc_handler.hpp"
#include "agrpc/register_sender_rpc_handler.hpp"
#include "agrpc/register_yield_rpc_handler.hpp"
#include "agrpc/repeatedly_request.hpp"
#include "agrpc/repeatedly_request_context.hpp"
#include "agrpc/rpc.hpp"
#include "agrpc/rpc_type.hpp"
#include "agrpc/run.hpp"
#include "agrpc/server_rpc.hpp"
#include "agrpc/server_rpc_ptr.hpp"
#include "agrpc/test.hpp"
#include "agrpc/use_awaitable.hpp"
#include "agrpc/use_sender.hpp"
#include "agrpc/wait.hpp"
#include "agrpc/waiter.hpp"