uvco 0.1
Loading...
Searching...
No Matches
uvco::Udp::SendAwaiter_ Struct Reference

Public Member Functions

 SendAwaiter_ (uv_udp_send_t &req)
 SendAwaiter_ (const SendAwaiter_ &)=default
 SendAwaiter_ (SendAwaiter_ &&)=delete
SendAwaiter_operator= (const SendAwaiter_ &)=delete
SendAwaiter_operator= (SendAwaiter_ &&)=delete
 ~SendAwaiter_ ()
bool await_ready () const
bool await_suspend (std::coroutine_handle<> h)
int await_resume ()

Public Attributes

uv_udp_send_t & req_
std::optional< std::coroutine_handle<> > handle_
std::optional< int > status_

Constructor & Destructor Documentation

◆ SendAwaiter_() [1/3]

uvco::Udp::SendAwaiter_::SendAwaiter_ ( uv_udp_send_t & req)
inlineexplicit
58: req_{req} {}
uv_udp_send_t & req_
Definition udp.cc:69

◆ SendAwaiter_() [2/3]

uvco::Udp::SendAwaiter_::SendAwaiter_ ( const SendAwaiter_ & )
default

◆ SendAwaiter_() [3/3]

uvco::Udp::SendAwaiter_::SendAwaiter_ ( SendAwaiter_ && )
delete

◆ ~SendAwaiter_()

uvco::Udp::SendAwaiter_::~SendAwaiter_ ( )
inline
63{ resetData(&req_); }
void resetData(Handle *handle)
Reset data pointer on handle to nullptr.
Definition internal_utils.h:83

Member Function Documentation

◆ await_ready()

bool uvco::Udp::SendAwaiter_::await_ready ( ) const
nodiscard
421{ return status_.has_value(); }
std::optional< int > status_
Definition udp.cc:71

◆ await_resume()

int uvco::Udp::SendAwaiter_::await_resume ( )
430 {
431 BOOST_ASSERT(status_);
432 return *status_;
433}

◆ await_suspend()

bool uvco::Udp::SendAwaiter_::await_suspend ( std::coroutine_handle<> h)
423 {
424 setData(&req_, this);
425 BOOST_ASSERT(!handle_);
426 handle_ = handle;
427 return true;
428}
void setData(Handle *handle, Data *data)
Obtain data pointer set on request with type cast. Data may be nullptr.
Definition internal_utils.h:77
std::optional< std::coroutine_handle<> > handle_
Definition udp.cc:70

◆ operator=() [1/2]

SendAwaiter_ & uvco::Udp::SendAwaiter_::operator= ( const SendAwaiter_ & )
delete

◆ operator=() [2/2]

SendAwaiter_ & uvco::Udp::SendAwaiter_::operator= ( SendAwaiter_ && )
delete

Member Data Documentation

◆ handle_

std::optional<std::coroutine_handle<> > uvco::Udp::SendAwaiter_::handle_

◆ req_

uv_udp_send_t& uvco::Udp::SendAwaiter_::req_

◆ status_

std::optional<int> uvco::Udp::SendAwaiter_::status_

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