23#if KCENON_WITH_COMMON_SYSTEM
24 #include <kcenon/common/patterns/result.h>
25 #include <kcenon/common/error/error_codes.h>
33#if KCENON_WITH_COMMON_SYSTEM
57 using Result = ::kcenon::common::Result<T>;
58 using VoidResult = ::kcenon::common::VoidResult;
59 using error_info = ::kcenon::common::error_info;
65 using Result = ::kcenon::common::Result<T>;
66 using VoidResult = ::kcenon::common::VoidResult;
67 using error_info = ::kcenon::common::error_info;
71 namespace error_codes = ::kcenon::common::error::codes;
74 namespace error_codes_ext {
82 inline Result<T>
ok(T&& value) {
83 return Result<T>(std::forward<T>(value));
91 inline Result<T>
error(
int code,
const std::string&
message,
92 const std::string& source =
"network_system",
93 const std::string& details =
"") {
98 const std::string& source =
"network_system",
99 const std::string& details =
"") {
105 return err.details.value_or(
"");
123 simple_error(
int c, std::string msg, std::string src =
"", std::string det =
"")
135 template<
typename U = T>
148 bool is_ok()
const {
return std::holds_alternative<T>(
data_); }
156 operator bool()
const {
return is_ok(); }
159 std::variant<T, simple_error>
data_;
188 namespace common_errors {
195 constexpr int not_initialized = -6;
196 constexpr int already_exists = -7;
200 constexpr int internal_error = -99;
207 constexpr int internal_error = -99;
212 namespace error_codes_ext {
221 return Result<T>(std::forward<T>(value));
230 const std::string& source =
"network_system",
231 const std::string& details =
"") {
236 const std::string& source =
"network_system",
237 const std::string& details =
"") {
static Result< T > err(int code, const std::string &message, const std::string &source="")
static Result< T > ok(U &&value)
std::variant< T, simple_error > data_
Result(const simple_error &err)
static Result< T > err(const simple_error &error)
const simple_error & error() const
Feature flags for network_system.
constexpr int invalid_argument
constexpr int out_of_memory
constexpr int not_initialized
constexpr int network_error
constexpr int permission_denied
constexpr int already_exists
constexpr int invalid_argument
constexpr int receive_failed
constexpr int bind_failed
constexpr int send_failed
constexpr int server_already_running
constexpr int connection_closed
constexpr int circuit_open
constexpr int connection_timeout
constexpr int connection_refused
constexpr int connection_failed
constexpr int server_not_started
constexpr int circuit_open
::kcenon::network::VoidResult VoidResult
::kcenon::network::Result< T > Result
::kcenon::network::error_info error_info
@ internal
Internal error.
Main namespace for all Network System components.
const std::string & get_error_source(const simple_error &err)
std::string get_error_details(const simple_error &err)
Result< std::monostate > VoidResult
VoidResult error_void(int code, const std::string &message, const std::string &source="network_system", const std::string &details="")
simple_error(int c, std::string msg, std::string src="", std::string det="")