- 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_alarmand related functions from gRPC Core. - Re-implement
grpc::Alarmby 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