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
Add agrpc::bind_allocator which associates an allocator to a completion token's completion handler. Similar to the new asio::bind_allocator except that it also works in older versions of Asio and provides empty class optimization on the allocator.
Add agrpc::GrpcContext.poll() which processes only completed handler.
Adjust the behavior of a stopped agrpc::GrpcContext to mimic that of asio::io_context. Operations submitted to a stopped context will no longer be discarded and instead processed the next time run() or poll() is called.
(experimental) Add agrpc::PollContext which repeatedly polls a agrpc::GrpcContext within a different execution context. An example showing how this can be used to run an asio::io_context and agrpc::GrpcContext on the same thread has been added as well.
Fixes
Certain headers did not work without also including other headers.
Performance
Executor binder, allocator binder and cancellation slot binder are now unbound from completion handlers in RPC functions, thereby reducing the memory allocation size.
Avoid one dynamic memory allocation per request in agrpc::repeatedly_request with awaitable.
Style
Remove deprecated agrpc::use_scheduler.
Documentation
Add example that shows how to process a bidirectional stream by dispatching work to a thread_pool.
Add example that performs double-buffered, allocation-free file transfer using gRPC and io_uring.
Update doxygen-awesome to 2.0.2.
Chore
Run msvc-code-analysis alongside CodeQL every week.
Update vcpkg and use manifest mode and CMake presets in github actions. Also compile dependencies in release only.
Add several /Zc flags when compiling with MSVC to make it more C++-standard compliant.