Re: [capy] error codes
Steve Gerbino via Boost <[email protected]> Wed, 01 Jul 2026 15:12:06 +0000
| Newsgroups | gmane.comp.lib.boost.devel |
|---|---|
| Message-ID | <ofC293spGOo77_zqHglR_JY9j_xjyDZk_zEcjvv9Iq3p2j27fnqtJeC7L0_xZooSyAoMqLYbbcynr4BzPBUpymQyjiz_OfuEfWWw8xWYj8k=@gerbino.co> |
On Wednesday, July 1st, 2026 at 12:49 AM, Andrzej Krzemienski via Boost <[email protected]> wrote: > Functions pull_from and push_to special-case on cond::eof. So do a number > of examples in the docs. Why only this one? I have been told that > cond::stream_truncated means "end of file, transmission ended before the > handshake, may be a truncation attack, may be a safe end, judge yourself." The pumps treats eof specially because it is the only situation in which we can finalize the sink (commit_eof). On the stream version you get success, on the sink versions if commit succeeds you get success or the ec from committing. This seems consistent. > How can users make this call when some Capy functions already discard it? Where does Capy discard it? It should bubble up through ec. > BTW, looking at the implementation of pull_from and push_to, when an error > is reported, there is no way to figure out from which stream it originated. I think you're right about this and we should fix it. > Looking at the implementation in normalize_openssl_shutdown_read_error in > Corosio, it looks like when we decide to stop a task reading an SSL stream > we will not get cond::canceled, but instead we may get > cond::stream_truncated. This is the only place where -- against the > protocol -- we do not get the feedback that the operation was canceled as > requested. Yes, I think the mapping to stream_truncated is too aggressive. It should be addressed as well. > BTW, cond::canceled detects two things: a successfully processed > cancellation request (error::canceled) and other events, possibly caused by > the state of the socket at the other end.(std::errc::operation_canceled). > It is not a practical condition. cond::canceled should answer "was this canceled?," that seems like the correct usage of cond. If you want to know specifics you could check against specific error codes. _______________________________________________ Boost mailing list -- [email protected] To unsubscribe send an email to [email protected] https://lists.boost.org/mailman3/lists/boost.lists.boost.org/ Archived at: https://lists.boost.org/archives/list/[email protected]/message/RKUJE4L3XEBIFIN3BUOCIV55EH77XF64/