#pragma once #include #include #include #include #include #include #include #include #include #include namespace xsync { using namespace std; typedef enum { kxs_ec_success = 0, kxs_ec_overtime = 1, kxs_ec_socket_fail = 2, kxs_ec_bind_fail = 3, kxs_ec_send_fail = 4, kxs_ec_receive_fail = 5, kxs_ec_setsockopt_rx_timeout_fail = 6, kxs_ec_lose_connect = 7, kxs_ec_param_error = 8, } xs_error_code_t; static inline const char* xs_error_code_2_str(xs_error_code_t ecode) { switch (ecode) { case kxs_ec_success: return "success"; case kxs_ec_overtime: return "overtime"; case kxs_ec_socket_fail: return "socket fail"; case kxs_ec_bind_fail: return "bind fail"; case kxs_ec_send_fail: return "send fail"; case kxs_ec_receive_fail: return "receive fail"; case kxs_ec_setsockopt_rx_timeout_fail: return "setsockopt rx timeout fail"; case kxs_ec_lose_connect: return "lose connect"; case kxs_ec_param_error: return "param error"; default: return "unknown error"; } } } // namespace xsync