[wpinet] uv::Stream: Return error from TryWrite() (#5655)

This commit is contained in:
Peter Johnson
2023-09-17 20:01:24 -07:00
committed by GitHub
parent 202a75fe08
commit 40b552be4a
2 changed files with 12 additions and 8 deletions

View File

@@ -111,25 +111,25 @@ void Stream::Write(std::span<const Buffer> bufs,
int Stream::TryWrite(std::span<const Buffer> bufs) {
if (IsLoopClosing()) {
return 0;
return UV_ECANCELED;
}
int val = uv_try_write(GetRawStream(), bufs.data(), bufs.size());
if (val < 0) {
this->ReportError(val);
return 0;
return val;
}
return val;
}
int Stream::TryWrite2(std::span<const Buffer> bufs, Stream& send) {
if (IsLoopClosing()) {
return 0;
return UV_ECANCELED;
}
int val = uv_try_write2(GetRawStream(), bufs.data(), bufs.size(),
send.GetRawStream());
if (val < 0) {
this->ReportError(val);
return 0;
return val;
}
return val;
}

View File

@@ -194,8 +194,9 @@ class Stream : public Handle {
* An error signal will be emitted in case of errors.
*
* @param bufs The buffers to be written to the stream.
* @return Number of bytes written.
* @return Number of bytes written, or negative (error code) on error
*/
[[nodiscard]]
int TryWrite(std::span<const Buffer> bufs);
/**
@@ -206,8 +207,9 @@ class Stream : public Handle {
* An error signal will be emitted in case of errors.
*
* @param bufs The buffers to be written to the stream.
* @return Number of bytes written.
* @return Number of bytes written, or negative (error code) on error
*/
[[nodiscard]]
int TryWrite(std::initializer_list<Buffer> bufs) {
return TryWrite({bufs.begin(), bufs.end()});
}
@@ -221,8 +223,9 @@ class Stream : public Handle {
*
* @param bufs The buffers to be written to the stream.
* @param send send stream
* @return Number of bytes written.
* @return Number of bytes written, or negative (error code) on error
*/
[[nodiscard]]
int TryWrite2(std::span<const Buffer> bufs, Stream& send);
/**
@@ -234,8 +237,9 @@ class Stream : public Handle {
*
* @param bufs The buffers to be written to the stream.
* @param send send stream
* @return Number of bytes written.
* @return Number of bytes written, or negative (error code) on error
*/
[[nodiscard]]
int TryWrite2(std::initializer_list<Buffer> bufs, Stream& send) {
return TryWrite2({bufs.begin(), bufs.end()}, send);
}