ORE Studio
0.0.4
Loading...
Searching...
No Matches
projects
ores.nats
include
ores.nats
service
nats_connect_error.hpp
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
*
3
* Copyright (C) 2026 Marco Craveiro <marco.craveiro@gmail.com>
4
*
5
* This program is free software; you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License as published by the Free Software
7
* Foundation; either version 3 of the License, or (at your option) any later
8
* version.
9
*
10
* This program is distributed in the hope that it will be useful, but WITHOUT
11
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13
* details.
14
*
15
* You should have received a copy of the GNU General Public License along with
16
* this program; if not, write to the Free Software Foundation, Inc., 51
17
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
*
19
*/
20
#ifndef ORES_NATS_SERVICE_NATS_CONNECT_ERROR_HPP
21
#define ORES_NATS_SERVICE_NATS_CONNECT_ERROR_HPP
22
23
#include <stdexcept>
24
#include <string>
25
26
namespace
ores::nats::service {
27
34
enum class
nats_error_kind {
36
server_unreachable,
39
tls_error,
41
connection_timeout,
44
services_unavailable,
46
other
47
};
48
56
class
nats_connect_error
:
public
std::runtime_error {
57
public
:
58
nats_connect_error
(nats_error_kind kind,
const
std::string& msg)
59
: std::runtime_error(msg), kind_(kind) {}
60
61
[[nodiscard]] nats_error_kind kind()
const
noexcept
{
return
kind_; }
62
63
private
:
64
nats_error_kind kind_;
65
};
66
67
}
// namespace ores::nats::service
68
69
#endif
ores::nats::service::nats_connect_error
Thrown when a NATS connection or initial service check fails.
Definition
nats_connect_error.hpp:56
Generated by
1.9.8