Monero
Toggle main menu visibility
Loading...
Searching...
No Matches
contrib
epee
include
net
enums.h
Go to the documentation of this file.
1
// Copyright (c) 2018-2022, The Monero Project
2
3
//
4
// All rights reserved.
5
//
6
// Redistribution and use in source and binary forms, with or without modification, are
7
// permitted provided that the following conditions are met:
8
//
9
// 1. Redistributions of source code must retain the above copyright notice, this list of
10
// conditions and the following disclaimer.
11
//
12
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
13
// of conditions and the following disclaimer in the documentation and/or other
14
// materials provided with the distribution.
15
//
16
// 3. Neither the name of the copyright holder nor the names of its contributors may be
17
// used to endorse or promote products derived from this software without specific
18
// prior written permission.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
21
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
22
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
23
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
28
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
30
#pragma once
31
32
#include <boost/utility/string_ref.hpp>
33
#include <cstdint>
34
35
namespace
epee
36
{
37
namespace
net_utils
38
{
39
enum class
address_type
: std::uint8_t
40
{
41
// Do not change values, this will break serialization
42
invalid
= 0,
43
ipv4
= 1,
44
ipv6
= 2,
45
i2p
= 3,
46
tor
= 4
47
};
48
49
enum class
zone
: std::uint8_t
50
{
51
invalid
= 0,
52
public_
= 1,
// public is keyword
53
i2p
= 2,
// order from here changes priority of selection for origin TXes
54
tor
= 3
55
};
56
57
// implementations in src/net_utils_base.cpp
58
60
const
char
*
zone_to_string
(
zone
value
)
noexcept
;
61
63
zone
zone_from_string
(boost::string_ref
value
)
noexcept
;
64
}
// net_utils
65
}
// epee
66
67
namespace
std
68
{
69
template
<>
struct
hash<
epee
::net_utils::zone>
70
{
71
std::size_t
operator()
(
const
epee::net_utils::zone
_z)
const
72
{
73
return
static_cast<
std::size_t
>
(_z);
74
}
75
};
76
}
// std
epee::net_utils
Definition
abstract_http_client.h:36
epee::net_utils::zone_from_string
zone zone_from_string(boost::string_ref value) noexcept
Definition
net_utils_base.cpp:151
epee::net_utils::zone_to_string
const char * zone_to_string(zone value) noexcept
Definition
net_utils_base.cpp:135
epee::net_utils::address_type
address_type
Definition
enums.h:40
epee::net_utils::address_type::ipv4
@ ipv4
Definition
enums.h:43
epee::net_utils::address_type::i2p
@ i2p
Definition
enums.h:45
epee::net_utils::address_type::tor
@ tor
Definition
enums.h:46
epee::net_utils::address_type::ipv6
@ ipv6
Definition
enums.h:44
epee::net_utils::address_type::invalid
@ invalid
Definition
enums.h:42
epee::net_utils::zone
zone
Definition
enums.h:50
epee::net_utils::zone::public_
@ public_
Definition
enums.h:52
epee
TODO: (mj-xmr) This will be reduced in an another PR.
Definition
byte_slice.h:40
std
Definition
enums.h:68
value
const GenericPointer< typename T::ValueType > T2 value
Definition
pointer.h:1225
std::hash< epee::net_utils::zone >::operator()
std::size_t operator()(const epee::net_utils::zone _z) const
Definition
enums.h:71
Generated on
for Monero by
1.17.0