summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/protoutil/include/android/util/ProtoOutputStream.h6
-rw-r--r--libs/protoutil/src/ProtoOutputStream.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/libs/protoutil/include/android/util/ProtoOutputStream.h b/libs/protoutil/include/android/util/ProtoOutputStream.h
index ce4184967026..faea9b21311d 100644
--- a/libs/protoutil/include/android/util/ProtoOutputStream.h
+++ b/libs/protoutil/include/android/util/ProtoOutputStream.h
@@ -110,6 +110,12 @@ public:
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 9d8ee729a80d..1904d40ea67a 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;