proxygen
folly::pushmi::detail::blocking_submit_fn::nested_receiver_impl< Out > Struct Template Reference

Public Types

using properties = properties_t< Out >
 

Public Member Functions

 nested_receiver_impl (lock_state *state, Out out)
 
template<class V >
void value (V &&v)
 
template<class E >
void error (E &&e) noexcept
 
void done ()
 

Public Attributes

lock_statestate_
 
Out out_
 

Detailed Description

template<class Out>
struct folly::pushmi::detail::blocking_submit_fn::nested_receiver_impl< Out >

Definition at line 136 of file submit.h.

Member Typedef Documentation

Definition at line 196 of file submit.h.

Constructor & Destructor Documentation

template<class Out >
folly::pushmi::detail::blocking_submit_fn::nested_receiver_impl< Out >::nested_receiver_impl ( lock_state state,
Out  out 
)
inline

Definition at line 191 of file submit.h.

Member Function Documentation

template<class Out >
void folly::pushmi::detail::blocking_submit_fn::nested_receiver_impl< Out >::done ( )
inline

Definition at line 212 of file submit.h.

References folly::pushmi::detail::blocking_submit_fn::lock_state::nested, folly::pushmi::set_done, and folly::pushmi::detail::blocking_submit_fn::lock_state::signaled.

212  {
213  std::exception_ptr e;
214  try {
215  set_done(out_);
216  } catch (...) {
217  e = std::current_exception();
218  }
219  if (--state_->nested == 0) {
220  state_->signaled.notify_all();
221  }
222  if (e) {
224  }
225  }
void rethrow_exception(std::exception_ptr ep)
PUSHMI_INLINE_VAR constexpr __adl::set_done_fn set_done
template<class Out >
template<class E >
void folly::pushmi::detail::blocking_submit_fn::nested_receiver_impl< Out >::error ( E &&  e)
inlinenoexcept
template<class Out >
template<class V >
void folly::pushmi::detail::blocking_submit_fn::nested_receiver_impl< Out >::value ( V &&  v)
inline

Definition at line 199 of file submit.h.

References folly::pushmi::set_value.

199  {
200  std::exception_ptr e;
201  using executor_t = remove_cvref_t<V>;
203  set_value(out_, any_executor_ref<>{n});
204  }
requires Sender< Ex > &&Executor< Ex > &&static detail::is_v< Ex, test_for_this > auto make(lock_state *, Ex ex)
Definition: submit.h:151
PUSHMI_INLINE_VAR constexpr __adl::set_value_fn set_value

Member Data Documentation

Definition at line 194 of file submit.h.

Definition at line 193 of file submit.h.


The documentation for this struct was generated from the following file: