aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/unified_agent_client/grpc_status_code.cpp
diff options
context:
space:
mode:
authorhor911 <hor911@ydb.tech>2023-02-09 12:40:11 +0300
committerhor911 <hor911@ydb.tech>2023-02-09 12:40:11 +0300
commit24689527cd888aa8a640ecb5077e656b3520d373 (patch)
treea613ff4cd9567b7113e8376a17f8b85897a42790 /library/cpp/unified_agent_client/grpc_status_code.cpp
parent8642d3642932f03663ba7d2d9670707c192207fd (diff)
downloadydb-24689527cd888aa8a640ecb5077e656b3520d373.tar.gz
Log backend move
Diffstat (limited to 'library/cpp/unified_agent_client/grpc_status_code.cpp')
-rw-r--r--library/cpp/unified_agent_client/grpc_status_code.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/library/cpp/unified_agent_client/grpc_status_code.cpp b/library/cpp/unified_agent_client/grpc_status_code.cpp
new file mode 100644
index 0000000000..662bbbe7a5
--- /dev/null
+++ b/library/cpp/unified_agent_client/grpc_status_code.cpp
@@ -0,0 +1,56 @@
+#include <contrib/libs/grpc/include/grpcpp/impl/codegen/status_code_enum.h>
+
+#include <util/stream/output.h>
+
+namespace {
+ const char* GrpcStatusCodeToString(grpc::StatusCode statusCode) {
+ switch (statusCode) {
+ case grpc::OK:
+ return "OK";
+ case grpc::CANCELLED:
+ return "CANCELLED";
+ case grpc::UNKNOWN:
+ return "UNKNOWN";
+ case grpc::INVALID_ARGUMENT:
+ return "INVALID_ARGUMENT";
+ case grpc::DEADLINE_EXCEEDED:
+ return "DEADLINE_EXCEEDED";
+ case grpc::NOT_FOUND:
+ return "NOT_FOUND";
+ case grpc::ALREADY_EXISTS:
+ return "ALREADY_EXISTS";
+ case grpc::PERMISSION_DENIED:
+ return "PERMISSION_DENIED";
+ case grpc::UNAUTHENTICATED:
+ return "UNAUTHENTICATED";
+ case grpc::RESOURCE_EXHAUSTED:
+ return "RESOURCE_EXHAUSTED";
+ case grpc::FAILED_PRECONDITION:
+ return "FAILED_PRECONDITION";
+ case grpc::ABORTED:
+ return "ABORTED";
+ case grpc::OUT_OF_RANGE:
+ return "OUT_OF_RANGE";
+ case grpc::UNIMPLEMENTED:
+ return "UNIMPLEMENTED";
+ case grpc::INTERNAL:
+ return "INTERNAL";
+ case grpc::UNAVAILABLE:
+ return "UNAVAILABLE";
+ case grpc::DATA_LOSS:
+ return "DATA_LOSS";
+ default:
+ return nullptr;
+ }
+ }
+}
+
+template <>
+void Out<grpc::StatusCode>(IOutputStream& o, grpc::StatusCode statusCode) {
+ const auto* s = GrpcStatusCodeToString(statusCode);
+ if (s == nullptr) {
+ o << "grpc::StatusCode [" << static_cast<int>(statusCode) << "]";
+ } else {
+ o << s;
+ }
+}