/* * Copyright (C) 2018-present ScyllaDB */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include #include #include namespace streaming { enum class stream_reason : uint8_t { unspecified, bootstrap, decommission, removenode, rebuild, repair, replace, tablet_migration, tablet_rebuild, }; } template <> struct fmt::formatter : fmt::formatter { template auto format(const streaming::stream_reason& r, FormatContext& ctx) const { using enum streaming::stream_reason; switch (r) { case unspecified: return formatter::format("unspecified", ctx); case bootstrap: return formatter::format("bootstrap", ctx); case decommission: return formatter::format("decommission", ctx); case removenode: return formatter::format("removenode", ctx); case rebuild: return formatter::format("rebuild", ctx); case repair: return formatter::format("repair", ctx); case replace: return formatter::format("replace", ctx); case tablet_migration: return formatter::format("tablet migration", ctx); case tablet_rebuild: return formatter::format("tablet rebuild", ctx); } std::abort(); } };