Skip to content

v3.2.0

Latest
Compare
Choose a tag to compare
@Tradias Tradias released this 14 Sep 15:50
· 2 commits to master since this release

Features

  • Add multi-threading support to GrpcContext's run and poll functions if the context has been constructed with one of the new constructors and the provided concurrency_hint is greater than one. Note that just like with asio::io_context you still have to call GrpcContext::run/poll from the desired numbers of threads. Also note that agrpc::HealthCheckService is incompatible with the new multi-threaded GrpcContext.
  • Add static_asserts to register_ functions that improve compilation error messages when providing an incompatible RPCHandler.
  • Add support for custom allocators that use fancy pointers.

Performance

  • The thread local memory pool will now grow up to a maximum of 127008 bytes. Allocations beyond that and individual allocations larger than 1024 byte will be served by std::allocator. Overaligned types no longer trigger a static assertion.
  • register_callback_rpc_handler now uses the user-provided allocator to wait for notify_when_done.

Documentation

  • Add gRPC client and server example that use the new multi-threaded GrpcContext.
  • Add note that only one call to ServerRPC::wait_for_done may be outstanding at a time.

Chore

  • No longer add standalone asio-grpc target when only building examples. All examples use Boost.Asio.