Add pretty-print logging for MessageResult gfe-relnote: adding unused functions, no behavior change PiperOrigin-RevId: 278959771 Change-Id: I051b06467b827724a8aacdc0a591373a5f9312d7
diff --git a/quic/core/quic_types.cc b/quic/core/quic_types.cc index 1f51dc5..48a41d8 100644 --- a/quic/core/quic_types.cc +++ b/quic/core/quic_types.cc
@@ -515,6 +515,33 @@ } } +std::string MessageStatusToString(MessageStatus message_status) { + switch (message_status) { + RETURN_STRING_LITERAL(MESSAGE_STATUS_SUCCESS); + RETURN_STRING_LITERAL(MESSAGE_STATUS_ENCRYPTION_NOT_ESTABLISHED); + RETURN_STRING_LITERAL(MESSAGE_STATUS_UNSUPPORTED); + RETURN_STRING_LITERAL(MESSAGE_STATUS_BLOCKED); + RETURN_STRING_LITERAL(MESSAGE_STATUS_TOO_LARGE); + RETURN_STRING_LITERAL(MESSAGE_STATUS_INTERNAL_ERROR); + default: + return QuicStrCat("Unknown(", static_cast<int>(message_status), ")"); + break; + } +} + +std::string MessageResultToString(MessageResult message_result) { + if (message_result.status != MESSAGE_STATUS_SUCCESS) { + return QuicStrCat("{", MessageStatusToString(message_result.status), "}"); + } + return QuicStrCat("{MESSAGE_STATUS_SUCCESS,id=", message_result.message_id, + "}"); +} + +std::ostream& operator<<(std::ostream& os, const MessageResult& mr) { + os << MessageResultToString(mr); + return os; +} + std::string PacketNumberSpaceToString(PacketNumberSpace packet_number_space) { switch (packet_number_space) { RETURN_STRING_LITERAL(INITIAL_DATA);
diff --git a/quic/core/quic_types.h b/quic/core/quic_types.h index d7206d6..972e57c 100644 --- a/quic/core/quic_types.h +++ b/quic/core/quic_types.h
@@ -607,6 +607,9 @@ // reaches an invalid state. }; +QUIC_EXPORT_PRIVATE std::string MessageStatusToString( + MessageStatus message_status); + // Used to return the result of SendMessage calls struct QUIC_EXPORT_PRIVATE MessageResult { MessageResult(MessageStatus status, QuicMessageId message_id); @@ -615,11 +618,17 @@ return status == other.status && message_id == other.message_id; } + QUIC_EXPORT_PRIVATE friend std::ostream& operator<<(std::ostream& os, + const MessageResult& mr); + MessageStatus status; // Only valid when status is MESSAGE_STATUS_SUCCESS. QuicMessageId message_id; }; +QUIC_EXPORT_PRIVATE std::string MessageResultToString( + MessageResult message_result); + enum WriteStreamDataResult { WRITE_SUCCESS, STREAM_MISSING, // Trying to write data of a nonexistent stream (e.g.