41class SubscribableFutureWrapper
final {
43 explicit SubscribableFutureWrapper(SubscribableFuture&& future)
44 : original_future_(
static_cast<SubscribableFuture&&>(future)),
46 original_future_.Subscribe([event_holder = event_holder_](
auto&) { event_holder->event.Send(); });
50 SubscribableFuture&
GetFuture() {
return original_future_; }
65 if (event_holder_->event.WaitForEventUntil(deadline)) {
72 SubscribableFuture original_future_;
73 boost::intrusive_ptr<impl::EventHolder> event_holder_;