Skip to content

Releases: Tradias/asio-grpc

v1.1.0

01 Oct 18:42
Compare
Choose a tag to compare

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

v1.0.1

10 Sep 16:43
Compare
Choose a tag to compare
  • Fix compatibility with older versions of Boost that do not support awaitables when compiling with C++20

v1.0.0

29 Aug 16:31
Compare
Choose a tag to compare
  • ExecutionContext compatible agrpc::GrpcContext
  • Executor and Networking TS compatible agrpc::GrpcExecutor
  • Support for all types of RPC, both client-side and server-side. Including support for all (non-experimental) CompletionTokens that Boost.Asio comes with.
  • Support for waiting for a grpc::Alarm