summaryrefslogtreecommitdiff
path: root/grpc/src/core/lib/channel/status_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'grpc/src/core/lib/channel/status_util.cc')
-rw-r--r--grpc/src/core/lib/channel/status_util.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/grpc/src/core/lib/channel/status_util.cc b/grpc/src/core/lib/channel/status_util.cc
index 39f310a1..0c60030d 100644
--- a/grpc/src/core/lib/channel/status_util.cc
+++ b/grpc/src/core/lib/channel/status_util.cc
@@ -75,8 +75,6 @@ const char* grpc_status_code_to_string(grpc_status_code status) {
return "ALREADY_EXISTS";
case GRPC_STATUS_PERMISSION_DENIED:
return "PERMISSION_DENIED";
- case GRPC_STATUS_UNAUTHENTICATED:
- return "UNAUTHENTICATED";
case GRPC_STATUS_RESOURCE_EXHAUSTED:
return "RESOURCE_EXHAUSTED";
case GRPC_STATUS_FAILED_PRECONDITION:
@@ -93,7 +91,19 @@ const char* grpc_status_code_to_string(grpc_status_code status) {
return "UNAVAILABLE";
case GRPC_STATUS_DATA_LOSS:
return "DATA_LOSS";
+ case GRPC_STATUS_UNAUTHENTICATED:
+ return "UNAUTHENTICATED";
default:
return "UNKNOWN";
}
}
+
+bool grpc_status_code_from_int(int status_int, grpc_status_code* status) {
+ // The range of status code enum is [0, 16], 0 is OK, 16 is UNAUTHENTICATED.
+ if (status_int < GRPC_STATUS_OK || status_int > GRPC_STATUS_UNAUTHENTICATED) {
+ *status = GRPC_STATUS_UNKNOWN;
+ return false;
+ }
+ *status = static_cast<grpc_status_code>(status_int);
+ return true;
+}