MCPcopy Create free account
hub / github.com/NVIDIA/stdexec / __dispatch_result_

Method __dispatch_result_

include/exec/async_scope.hpp:545–565  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

543 using receiver_concept = STDEXEC::receiver_tag;
544
545 constexpr void __dispatch_result_(std::unique_lock<std::mutex>& __guard) noexcept
546 {
547 auto& __state = *__state_;
548 auto __local_subscribers = std::move(__state.__subscribers_);
549 __state.__forward_scope_.reset();
550 if (__state.__no_future_.get() != nullptr)
551 {
552 // nobody is waiting for the results
553 // delete this and return
554 __state.__step_from_to_(__guard, __future_step::__no_future, __future_step::__deleted);
555 __guard.unlock();
556 __state.__no_future_.reset();
557 return;
558 }
559 __guard.unlock();
560 while (!__local_subscribers.empty())
561 {
562 auto* __sub = __local_subscribers.pop_front();
563 __sub->__complete();
564 }
565 }
566
567 template <class _Tag, class... _As>
568 constexpr void __save_completion(_Tag, _As&&... __as) noexcept

Callers

nothing calls this directly

Calls 6

__step_from_to_Method · 0.80
resetMethod · 0.45
getMethod · 0.45
emptyMethod · 0.45
pop_frontMethod · 0.45
__completeMethod · 0.45

Tested by

no test coverage detected