- Author(s): vjpai
- Approver: a11r
- Status: Approved
- Implemented in: grpc/grpc#14015
- Last updated: January 14, 2018
- Discussion at: https://groups.google.com/forum/#!topic/grpc-io/ikqxu_dzqQs
Remove struct grpc_alarm
and grpc_alarm_*
functions from the core API
grpc::Alarm
was introduced as a gRPC C++ API to inject completion queue events at specified times because it was observed to be difficult to manage timing-based code in the asynchronous API. This was implemented by creating a
matching grpc_alarm
in core which internally used the existing grpc_timer
as its
implementation; the grpc::Alarm
in C++ was only a thin wrapping around grpc_alarm
.
This is related to the overall project of de-wrapping C++.
- Remove
grpc_alarm
and related functions from gRPC Core. - Re-implement
grpc::Alarm
by directly invoking gRPC Core sub-surface features such asgrpc_timer
grpc::Alarm
has been used by external projects. However, grpc_alarm
has not been used even by any wrapped language beside C++. Thus, it is not needed in core, and removing it from core allows additional flexibility in its C++ implementation.
grpc/grpc#14015 implements this change.
N/A