Remove exceptions to break out of infinite await with optional<T>
jbaldwin opened this issue · comments
Exceptions on linux (and possibly other platforms) have a global lock the in the standard library. This could cause performance problems outside of exceptions themselves. Its also generally bad form to use exceptions for control flow.. which is what they are currently being used for. 😢
Removing coro/stop_signal.hpp
Using tartan llama tl::expected
instead of std::optional
since it gives better output/reasons for why things happen, instead of just nothing. std::nullopt
doesn't convey to the user that the object has been shutdown/stopped but an enum can.