llarp/service/protocol_type.hpp
Namespaces
| Name |
|---|
| llarp [crypto.hpp] |
| llarp::service |
Source code
#pragma once
#include <cstdint>
#include <ostream>
#include <llarp/util/formattable.hpp>
namespace llarp::service
{
// Supported protocol types; the values are given explicitly because they are specifically used
// when sending over the wire.
enum class ProtocolType : uint64_t
{
Control = 0UL,
TrafficV4 = 1UL,
TrafficV6 = 2UL,
Exit = 3UL,
Auth = 4UL,
QUIC = 5UL,
};
constexpr std::string_view
ToString(ProtocolType t)
{
using namespace std::literals;
return t == ProtocolType::Control ? "Control"sv
: t == ProtocolType::TrafficV4 ? "TrafficV4"sv
: t == ProtocolType::TrafficV6 ? "TrafficV6"sv
: t == ProtocolType::Exit ? "Exit"sv
: t == ProtocolType::Auth ? "Auth"sv
: t == ProtocolType::QUIC ? "QUIC"sv
: "(unknown-protocol-type)"sv;
}
} // namespace llarp::service
template <>
constexpr inline bool llarp::IsToStringFormattable<llarp::service::ProtocolType> = true;
Updated on 2026-01-10 at 22:49:45 +0000