Files
scylladb/streaming/progress_info.cc
Kefu Chai 1eb76d93b7 streaming: cast the progress to a float before formatting it
before this change, we format a `long` using `{:f}`. fmtlib would
throw an exception when actually formatting it.

so, let's make the percentage a float before formatting it.

Fixes #14587
Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes #14588
2023-07-10 00:00:40 +03:00

23 lines
527 B
C++

/*
*
* Modified by ScyllaDB
* Copyright (C) 2015-present ScyllaDB
*/
/*
* SPDX-License-Identifier: (AGPL-3.0-or-later and Apache-2.0)
*/
#include "streaming/progress_info.hh"
namespace streaming {
std::ostream& operator<<(std::ostream& os, const progress_info& x) {
sstring dir = x.dir == progress_info::direction::OUT ? "sent to " : "received from ";
fmt::print(os, "{} {:d}/({:f}%) {} {}", x.file_name, x.current_bytes,
x.current_bytes * 100.F / x.total_bytes, dir, x.peer);
return os;
}
}