◆ OutStreamAwaiter_()
uvco::StreamBase::OutStreamAwaiter_::OutStreamAwaiter_ |
( |
StreamBase & |
stream, |
|
|
std::string_view |
buffer |
|
) |
| |
uv_stream_t & stream()
Definition stream.h:91
StreamBase & stream_
Definition stream.h:157
uv_write_t write_
Definition stream.h:156
std::string_view buffer_
Definition stream.h:155
◆ await_ready()
bool uvco::StreamBase::OutStreamAwaiter_::await_ready |
( |
| ) |
|
189 {
190
193 if (result > 0) {
195 }
196 return result > 0;
197}
int uv_status
Result of a libuv operation, an errno error code.
Definition internal_utils.h:22
std::optional< uv_status > status_
Definition stream.h:152
std::array< uv_buf_t, 1 > prepare_buffers() const
Definition stream.cc:182
◆ await_resume()
uv_status uvco::StreamBase::OutStreamAwaiter_::await_resume |
( |
| ) |
|
214 {
215
217 return UV_ECANCELED;
218 }
222}
std::optional< std::coroutine_handle<> > writer_
Definition stream.h:104
std::unique_ptr< uv_stream_t, UvHandleDeleter > stream_
Definition stream.h:101
◆ await_suspend()
bool uvco::StreamBase::OutStreamAwaiter_::await_suspend |
( |
std::coroutine_handle<> |
handle | ) |
|
200 {
201 BOOST_ASSERT(
write_.data ==
nullptr);
204
207
210
211 return true;
212}
std::optional< std::coroutine_handle<> > handle_
Definition stream.h:151
static void onOutStreamWrite(uv_write_t *write, uv_status status)
Definition stream.cc:224
◆ onOutStreamWrite()
void uvco::StreamBase::OutStreamAwaiter_::onOutStreamWrite |
( |
uv_write_t * |
write, |
|
|
uv_status |
status |
|
) |
| |
|
static |
225 {
226 auto *awaiter = getRequestData<OutStreamAwaiter_>(
write);
227 BOOST_ASSERT(awaiter != nullptr);
228 awaiter->status_ = status;
229 BOOST_ASSERT(awaiter->handle_);
230 auto handle = awaiter->handle_.value();
231 awaiter->handle_.reset();
234}
static void enqueue(std::coroutine_handle<> handle)
Definition loop.cc:73
Promise< size_t > write(std::string buf)
Definition stream.cc:69
void setData(Handle *handle, Data *data)
Definition internal_utils.h:55
◆ prepare_buffers()
std::array< uv_buf_t, 1 > uvco::StreamBase::OutStreamAwaiter_::prepare_buffers |
( |
| ) |
const |
182 {
183 std::array<uv_buf_t, 1> bufs{};
184 bufs[0].base =
const_cast<char *
>(
buffer_.data());
186 return bufs;
187}
◆ buffer_
std::string_view uvco::StreamBase::OutStreamAwaiter_::buffer_ |
◆ handle_
std::optional<std::coroutine_handle<> > uvco::StreamBase::OutStreamAwaiter_::handle_ |
◆ status_
std::optional<uv_status> uvco::StreamBase::OutStreamAwaiter_::status_ |
◆ stream_
StreamBase& uvco::StreamBase::OutStreamAwaiter_::stream_ |
◆ write_
uv_write_t uvco::StreamBase::OutStreamAwaiter_::write_ {} |
The documentation for this struct was generated from the following files: