diff options
Diffstat (limited to 'forstio/async')
-rw-r--r-- | forstio/async/async.cpp | 2 | ||||
-rw-r--r-- | forstio/async/async.h | 24 | ||||
-rw-r--r-- | forstio/async/async.tmpl.h | 28 |
3 files changed, 27 insertions, 27 deletions
diff --git a/forstio/async/async.cpp b/forstio/async/async.cpp index ca85b30..c53ffa6 100644 --- a/forstio/async/async.cpp +++ b/forstio/async/async.cpp @@ -29,7 +29,7 @@ conveyor_node_with_child_mixin::conveyor_node_with_child_mixin( error_or<own<conveyor_node>> conveyor_node_with_child_mixin::swap_child(own<conveyor_node> &&swapee) { SAW_ASSERT(child) { - return critical_error("Child should exist if this function is called"); + return make_error<err::invalid_state>("Child should exist if this function is called"); } own<conveyor_node> old_child = std::move(child); diff --git a/forstio/async/async.h b/forstio/async/async.h index 82eb2c1..4cfed60 100644 --- a/forstio/async/async.h +++ b/forstio/async/async.h @@ -63,7 +63,7 @@ public: error_or<own<conveyor_node>> swap_child_of_parent(own<conveyor_node> &&swapee) { SAW_ASSERT(parent) { - return critical_error( + return make_error<err::invalid_state>( "Can't swap child, because parent doesn't exist"); } @@ -737,21 +737,21 @@ public: try { eov = fix_void_caller<T, DepT>::apply( - func_, std::move(dep_eov.value())); + func_, std::move(dep_eov.get_value())); } catch (const std::bad_alloc &) { - eov = critical_error("Out of memory"); + eov = make_error<err::out_of_memory>("Out of memory"); } catch (const std::exception &) { - eov = critical_error( + eov = make_error<err::invalid_state>( "Exception in chain occured. Return ErrorOr<T> if you " "want to handle errors which are recoverable"); } } else if (dep_eov.is_error()) { - eov = error_func_(std::move(dep_eov.error())); + eov = error_func_(std::move(dep_eov.get_error())); } else { - eov = critical_error("No value set in dependency"); + eov = make_error<err::invalid_state>("No value set in dependency"); } } else { - eov = critical_error("Conveyor doesn't have child"); + eov = make_error<err::invalid_state>("Conveyor doesn't have child"); } } }; @@ -790,7 +790,7 @@ public: // ConveyorNode void get_result(error_or_value &err_or_val) noexcept override { err_or_val.as<void_t>() = - critical_error("In a sink node no result can be returned"); + make_error<err::invalid_state>("In a sink node no result can be returned"); } error_or<own<conveyor_node>> @@ -804,13 +804,13 @@ public: error_or<void> dep_eov; child_mixin_.child->get_result(dep_eov); if (dep_eov.is_error()) { - if (dep_eov.error().is_critical()) { + if (dep_eov.get_error().is_critical()) { if (!is_armed()) { arm_last(); } } if (conveyor_sink_) { - conveyor_sink_->fail(std::move(dep_eov.error())); + conveyor_sink_->fail(std::move(dep_eov.get_error())); } } } @@ -840,7 +840,7 @@ public: error_or<own<conveyor_node>> swap_child(own<conveyor_node> &&swapee) noexcept override { (void)swapee; - return recoverable_error("Node doesn't support swapping"); + return make_error<err::not_supported>("Node doesn't support swapping"); } conveyor_storage *next_storage() noexcept override { @@ -869,7 +869,7 @@ public: void get_result(error_or_value &err_or_val) noexcept override { if (retrieved_ > 0) { err_or_val.as<fix_void<T>>() = - make_error("Already taken value", error::code::Exhausted); + make_error<err::buffer_exhausted>("Already taken value"); } else { err_or_val.as<fix_void<T>>() = std::move(value_); } diff --git a/forstio/async/async.tmpl.h b/forstio/async/async.tmpl.h index 77a24da..d081fa9 100644 --- a/forstio/async/async.tmpl.h +++ b/forstio/async/async.tmpl.h @@ -151,7 +151,7 @@ own<conveyor_node> conveyor<T>::from_conveyor(conveyor<T> conveyor) { template <typename T> error_or<fix_void<T>> conveyor<T>::take() { SAW_ASSERT(node_) { return error_or<fix_void<T>>{ - critical_error("conveyor in invalid state")}; + make_error<err::invalid_state>("conveyor in invalid state")}; } conveyor_storage *storage = node_->next_storage(); if (storage) { @@ -161,11 +161,11 @@ template <typename T> error_or<fix_void<T>> conveyor<T>::take() { return result; } else { return error_or<fix_void<T>>{ - recoverable_error("conveyor buffer has no elements")}; + make_error<err::buffer_exhausted>("conveyor buffer has no elements")}; } } else { return error_or<fix_void<T>>{ - critical_error("conveyor node has no child storage")}; + make_error<err::invalid_state>("conveyor node has no child storage")}; } } @@ -187,7 +187,7 @@ template <typename T> void queue_buffer_conveyor_node<T>::fire() { if (child_mixin_.child) { if (!storage_.empty()) { if (storage_.front().is_error()) { - if (storage_.front().error().is_critical()) { + if (storage_.front().get_error().is_critical()) { child_mixin_.child = nullptr; } } @@ -237,7 +237,7 @@ template <typename T> void queue_buffer_conveyor_node<T>::child_has_fired() { child_mixin_.child->get_result(eov); if (eov.is_error()) { - if (eov.error().is_critical()) { + if (eov.get_error().is_critical()) { } } @@ -327,7 +327,7 @@ template <typename T> error_or<own<conveyor_node>> merge_conveyor_node<T>::swap_child(own<conveyor_node> &&swapee_) noexcept { (void)swapee_; - return critical_error( + return make_error<err::invalid_state>( "merge_conveyor_node<T>::appendage should block calls to this class"); } @@ -359,7 +359,7 @@ void merge_conveyor_node<T>::get_result(error_or_value &eov) noexcept { } } - err_or_val = critical_error("No value in Merge appendages"); + err_or_val = make_error<err::invalid_state>("No value in Merge appendages"); } template <typename T> void merge_conveyor_node<T>::fire() { @@ -414,7 +414,7 @@ merge_conveyor_node<T>::appendage::swap_child(own<conveyor_node> &&swapee_) { child = std::move(swapee_); // This case should never happen - SAW_ASSERT(old_child) { return critical_error("No child exists"); } + SAW_ASSERT(old_child) { return make_error<err::invalid_state>("No child exists"); } return old_child; } @@ -425,7 +425,7 @@ void merge_conveyor_node<T>::appendage::get_result(error_or_value &eov) { SAW_ASSERT(queued() > 0) { err_or_val = - critical_error("No element queued in Merge appendage Node"); + make_error<err::invalid_state>("No element queued in Merge appendage Node"); return; } @@ -461,7 +461,7 @@ void merge_conveyor_node<T>::appendage::get_appendage_result( SAW_ASSERT(queued() > 0) { err_or_val = - critical_error("No element queued in Merge appendage Node"); + make_error<err::invalid_state>("No element queued in Merge appendage Node"); return; } @@ -573,7 +573,7 @@ template <typename T> size_t adapt_conveyor_feeder<T>::space() const { template <typename T> error adapt_conveyor_feeder<T>::swap(conveyor<T> &&conv) noexcept { - SAW_ASSERT(feedee_) { return critical_error("No feedee connected"); } + SAW_ASSERT(feedee_) { return make_error<err::invalid_state>("No feedee connected"); } auto node = conveyor<T>::from_conveyor(std::move(conv)); @@ -602,7 +602,7 @@ adapt_conveyor_node<T>::swap_child(own<conveyor_node> &&swapee) noexcept { return myself_err; } - auto &myself = myself_err.value(); + auto &myself = myself_err.get_value(); assert(myself.get() == this); @@ -649,7 +649,7 @@ void adapt_conveyor_node<T>::get_result(error_or_value &err_or_val) { err_or_val.as<T>() = std::move(storage_.front()); storage_.pop(); } else { - err_or_val.as<T>() = critical_error( + err_or_val.as<T>() = make_error<err::invalid_state>( "Signal for retrieval of storage sent even though no " "data is present"); } @@ -754,7 +754,7 @@ void one_time_conveyor_node<T>::get_result(error_or_value &err_or_val) { err_or_val.as<T>() = std::move(storage_.value()); storage_ = std::nullopt; } else { - err_or_val.as<T>() = critical_error( + err_or_val.as<T>() = make_error<err::invalid_state>( "Signal for retrieval of storage sent even though no " "data is present"); } |