diff options
author | Daniil Cherednik <[email protected]> | 2023-03-31 10:54:08 +0300 |
---|---|---|
committer | Daniil Cherednik <[email protected]> | 2023-03-31 12:28:07 +0300 |
commit | fc1cffcfa7f0497a1f97b384a24bcbf23362f3be (patch) | |
tree | c15f7ab5b9e9b20fd0ef8fc07d598d28e8b32004 /library/cpp/unified_agent_client/grpc_status_code.cpp | |
parent | 8a749596d40e91c896a1907afcd108d9221fbde1 (diff) |
Ydb stable 23-1-1923.1.19
x-stable-origin-commit: c5d5a396e89d0a72e0267a55e93d8404d4fb54fe
Diffstat (limited to 'library/cpp/unified_agent_client/grpc_status_code.cpp')
-rw-r--r-- | library/cpp/unified_agent_client/grpc_status_code.cpp | 56 |
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 00000000000..662bbbe7a51 --- /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; + } +} |