Skip to content

v1.1.0

Compare
Choose a tag to compare
@Tradias Tradias released this 01 Oct 18:42
· 1269 commits to master since this release

Features

  • Use Boost.Container instead of <memory_resource> by setting the CMake variable ASIO_GRPC_USE_BOOST_CONTAINER
  • agrpc::wait can now be cancelled by associating a cancellation slot to the CompletionToken (Boost 1.77.0)
  • (experimental) New function agrpc::repeatedly_request. Can be used by servers to ensure that there are enough outstanding calls to request a new RPC. It takes a function object which should define how to handle an incoming RPC, it could e.g. be co_spawning a new coroutine to process it.

Fixes

  • boost::asio::require(grpc_executor, boost::asio::execution::allocator) would not compile due to calling a constructor that is explicit

Performance

  • Reduce memory allocation size of asynchronous operations that use the default allocator or where submitted from the thread that is calling agrpc::GrpcContext::run
  • Remove redundant if-condition when deallocating an asynchronous operation

Style

  • Provide better error message when attempting to use the DefaultCompletionToken without coroutines being available
  • Remove [[nodiscard]] from agrpc::request functions

Chore

  • Do not attempt to find_package or link with gRPC::grpc++ and Boost::headers when only installing the CMake project
  • Add Github build and test actions for MacOS-11 (AppleClang 12) and Windows-2022
  • Add Github action for automatically running MarkdownSnippets
  • Fix CMake unity build by excluding protobuf generated source files from it