Internal QUICHE change

PiperOrigin-RevId: 242916807
Change-Id: I5b8487fe16eede5be8d7046a06b81835c414a5ba
diff --git a/quic/core/quic_types.cc b/quic/core/quic_types.cc
index 6a3af07..bf1a07f 100644
--- a/quic/core/quic_types.cc
+++ b/quic/core/quic_types.cc
@@ -31,6 +31,25 @@
   return os;
 }
 
+std::string HistogramEnumString(WriteStatus enum_value) {
+  switch (enum_value) {
+    case WRITE_STATUS_OK:
+      return "OK";
+    case WRITE_STATUS_BLOCKED:
+      return "BLOCKED";
+    case WRITE_STATUS_BLOCKED_DATA_BUFFERED:
+      return "BLOCKED_DATA_BUFFERED";
+    case WRITE_STATUS_ERROR:
+      return "ERROR";
+    case WRITE_STATUS_MSG_TOO_BIG:
+      return "MSG_TOO_BIG";
+    case WRITE_STATUS_NUM_VALUES:
+      return "NUM_VALUES";
+  }
+  QUIC_DLOG(ERROR) << "Invalid WriteStatus value: " << enum_value;
+  return "<invalid>";
+}
+
 WriteResult::WriteResult() : status(WRITE_STATUS_ERROR), bytes_written(0) {}
 
 WriteResult::WriteResult(WriteStatus status, int bytes_written_or_error_code)
diff --git a/quic/core/quic_types.h b/quic/core/quic_types.h
index c23d297..19dac06 100644
--- a/quic/core/quic_types.h
+++ b/quic/core/quic_types.h
@@ -93,6 +93,12 @@
   WRITE_STATUS_NUM_VALUES,
 };
 
+std::string HistogramEnumString(WriteStatus enum_value);
+
+inline std::string HistogramEnumDescription(WriteStatus dummy) {
+  return "status";
+}
+
 inline bool IsWriteBlockedStatus(WriteStatus status) {
   return status == WRITE_STATUS_BLOCKED ||
          status == WRITE_STATUS_BLOCKED_DATA_BUFFERED;