diff --git a/src/google/protobuf/util/delimited_message_util.cc b/src/google/protobuf/util/delimited_message_util.cc index 36e0118d8..163787821 100644 --- a/src/google/protobuf/util/delimited_message_util.cc +++ b/src/google/protobuf/util/delimited_message_util.cc @@ -7,12 +7,12 @@ namespace google { namespace protobuf { namespace util { -bool SerializeDelimitedToFileDescriptor(const Message* message, int file_descriptor) { +bool SerializeDelimitedToFileDescriptor(const MessageLite& message, int file_descriptor) { io::FileOutputStream output(file_descriptor); return SerializeDelimitedToZeroCopyStream(message, &output); } -bool SerializeDelimitedToOstream(const Message* message, ostream* output) { +bool SerializeDelimitedToOstream(const MessageLite& message, ostream* output) { { io::OstreamOutputStream zero_copy_output(output); if (!SerializeDelimitedToZeroCopyStream(message, &zero_copy_output)) return false; @@ -49,14 +49,14 @@ bool ParseDelimitedFromCodedStream(MessageLite* message, io::CodedInputStream* i return true; } -bool SerializeDelimitedToZeroCopyStream(const MessageLite* message, io::ZeroCopyOutputStream* output) { +bool SerializeDelimitedToZeroCopyStream(const MessageLite& message, io::ZeroCopyOutputStream* output) { google::protobuf::io::CodedOutputStream coded_output(output); return SerializeDelimitedToCodedStream(message, &coded_output); } -bool SerializeDelimitedToCodedStream(const MessageLite* message, io::CodedOutputStream* output) { +bool SerializeDelimitedToCodedStream(const MessageLite& message, io::CodedOutputStream* output) { // Write the size. - int size = message->ByteSize(); + int size = message.ByteSize(); output->WriteVarint32(size); // Write the content. @@ -64,10 +64,10 @@ bool SerializeDelimitedToCodedStream(const MessageLite* message, io::CodedOutput if (buffer != NULL) { // Optimization: The message fits in one buffer, so use the faster // direct-to-array serialization path. - message->SerializeWithCachedSizesToArray(buffer); + message.SerializeWithCachedSizesToArray(buffer); } else { // Slightly-slower path when the message is multiple buffers. - message->SerializeWithCachedSizes(output); + message.SerializeWithCachedSizes(output); if (output->HadError()) return false; } diff --git a/src/google/protobuf/util/delimited_message_util.h b/src/google/protobuf/util/delimited_message_util.h index 0ff91db17..302d4781b 100644 --- a/src/google/protobuf/util/delimited_message_util.h +++ b/src/google/protobuf/util/delimited_message_util.h @@ -6,7 +6,7 @@ #include -#include +#include #include #include @@ -23,16 +23,16 @@ namespace util { // Note that if you want to *read* a delimited message from a file descriptor // or istream, you will need to construct an io::FileInputStream or // io::OstreamInputStream (implementations of io::ZeroCopyStream) and use the -// MessageLite method ParseDelimitedFromZeroCopyStream(). You must then +// utility function ParseDelimitedFromZeroCopyStream(). You must then // continue to use the same ZeroCopyInputStream to read all further data from // the stream until EOF. This is because these ZeroCopyInputStream // implementations are buffered: they read a big chunk of data at a time, // then parse it. As a result, they may read past the end of the delimited // message. There is no way for them to push the extra data back into the // underlying source, so instead you must keep using the same stream object. -bool LIBPROTOBUF_EXPORT SerializeDelimitedToFileDescriptor(const Message* message, int file_descriptor); +bool LIBPROTOBUF_EXPORT SerializeDelimitedToFileDescriptor(const MessageLite& message, int file_descriptor); -bool LIBPROTOBUF_EXPORT SerializeDelimitedToOstream(const Message* message, ostream* output); +bool LIBPROTOBUF_EXPORT SerializeDelimitedToOstream(const MessageLite& message, ostream* output); // Read a single size-delimited message from the given stream. Delimited // format allows a single file or stream to contain multiple messages, @@ -55,9 +55,9 @@ bool LIBPROTOBUF_EXPORT ParseDelimitedFromCodedStream(MessageLite* message, io:: // whereas normally writing multiple non-delimited messages to the same // stream would cause them to be merged. A delimited message is a varint // encoding the message size followed by a message of exactly that size. -bool LIBPROTOBUF_EXPORT SerializeDelimitedToZeroCopyStream(const MessageLite* message, io::ZeroCopyOutputStream* output); +bool LIBPROTOBUF_EXPORT SerializeDelimitedToZeroCopyStream(const MessageLite& message, io::ZeroCopyOutputStream* output); -bool LIBPROTOBUF_EXPORT SerializeDelimitedToCodedStream(const MessageLite* message, io::CodedOutputStream* output); +bool LIBPROTOBUF_EXPORT SerializeDelimitedToCodedStream(const MessageLite& message, io::CodedOutputStream* output); } // namespace util } // namespace protobuf diff --git a/src/google/protobuf/util/delimited_message_util_test.cc b/src/google/protobuf/util/delimited_message_util_test.cc index 0954773ba..a2e36a3a1 100644 --- a/src/google/protobuf/util/delimited_message_util_test.cc +++ b/src/google/protobuf/util/delimited_message_util_test.cc @@ -20,11 +20,11 @@ TEST(MessageTest, DelimitedMessages) { { protobuf_unittest::TestAllTypes message1; TestUtil::SetAllFields(&message1); - EXPECT_TRUE(SerializeDelimitedToOstream(&message1, &stream)); + EXPECT_TRUE(SerializeDelimitedToOstream(message1, &stream)); protobuf_unittest::TestPackedTypes message2; TestUtil::SetPackedFields(&message2); - EXPECT_TRUE(SerializeDelimitedToOstream(&message2, &stream)); + EXPECT_TRUE(SerializeDelimitedToOstream(message2, &stream)); } {