You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upcoming breaking change:agrpc::use_scheduler has been renamed to agrpc::use_sender. The old version will be removed in v1.5.0.
Stabilize agrpc::repeatedly_request's API. It now supports CancellationSlot/StopToken, asio::awaitable, Sender and a final CompletionToken. Also reduced the memory needed per request. See documentation and examples for more details.
Add agrpc::write_last which coalesces write and finish for server-side streaming RPCs and combines write and writes_done for client-side streaming RPCs.
Add StopToken support to agrpc::wait.
asio_grpc_protobuf_generate can now handle .proto files that are nested within the import directory.
Turn get_completion_queue into a function object.
Split public header files. They may now be included individually instead of only through the asioGrpc.hpp file.
Fixes
agrpc::wait was incorrectly using the cancellation slot of the CompletionToken instead of the CompletionHandler, leading to broken cancellation propagation.
Performance
Enable likely/unlikely attribute equivalents for C++17.
Style
Issue a static assertion when asio-grpc is used without passing it to a target_link_libraries call in CMake which can lead to hard to decipher errors: #12.
Move .ipp headers out of the public include directory.
Mark RPC functions noexcept when agrpc::use_sender is the CompletionToken.
Documentation
Complete API reference documentation is now available online and in code!
Provide an example on how to cancel individual RPC steps based on a deadline.
Provide documentation on how to use callbacks and stackless coroutines.
Fix compilation of the unifex server-streaming documentation snippets.
Mention that calls to find_package are needed in the As a subdirectory section of the README.
Update the Using vcpkg section of the README to reflect the automatic interface link library setup performed by asio-grpcConfig,cmake.
Chore
Avoid duplicate compilation of generated protobuf files in tests.
Use libc++ for Ubuntu Clang builds.
Enable coroutines and unifex for Clang builds.
Use minimum supported standalone Asio version for CI and during development.