We're adding a new API to gRPC core for exactly these kinds of situations.
Please see https://github.com/grpc/proposal/pull/245 for information on the
EventEngine API, I'd appreciate your feedback! In short, if you need
fine-grained control over threading/eventing behaviors in gRPC, or want to
1. What is the purpose of the timer thread?
Throughout the gRPC stack, there are a bunch of deadlines and timeouts that
need to be tracked. The way gRPC Core does this is through timers. It
schedules a closure to be executed when that timer expires and this closure
is run on the timer thread.
The context, following from our previous thread, is that we want to add
grpc endpoints to an existing high-performance application. Our application
already has extensive control over the allocations and threading on the
system, so *we would prefer a single-threaded grpc server* that hands off
a