diff --git a/libs/protoutil/include/android/util/ProtoOutputStream.h b/libs/protoutil/include/android/util/ProtoOutputStream.h index ce41849670261..faea9b21311dc 100644 --- a/libs/protoutil/include/android/util/ProtoOutputStream.h +++ b/libs/protoutil/include/android/util/ProtoOutputStream.h @@ -109,6 +109,12 @@ public: long long start(uint64_t fieldId); void end(long long token); + /** + * Returns how many bytes are buffered in ProtoOutputStream. + * Notice, this is not the actual(compact) size of the output data. + */ + size_t bytesWritten(); + /** * Flushes the protobuf data out to given fd. When the following functions are called, * it is not able to write to ProtoOutputStream any more since the data is compact. diff --git a/libs/protoutil/src/ProtoOutputStream.cpp b/libs/protoutil/src/ProtoOutputStream.cpp index 9d8ee729a80dc..1904d40ea67ac 100644 --- a/libs/protoutil/src/ProtoOutputStream.cpp +++ b/libs/protoutil/src/ProtoOutputStream.cpp @@ -295,6 +295,12 @@ ProtoOutputStream::end(long long token) } } +size_t +ProtoOutputStream::bytesWritten() +{ + return mBuffer.size(); +} + bool ProtoOutputStream::compact() { if (mCompact) return true;