Persist active metric status across system server
Previously, all metrics/configs would deactivate on system server death.
Now, active status is restored.
Bug: 129717537
Test: bit statsd_test:*
Test: libprotoutil_test:ProtoOutputStream*
Change-Id: Idf372457f60a931a2d00176a5eab58c534a25e41
diff --git a/libs/protoutil/src/ProtoOutputStream.cpp b/libs/protoutil/src/ProtoOutputStream.cpp
index ccbb83b..98a68c6 100644
--- a/libs/protoutil/src/ProtoOutputStream.cpp
+++ b/libs/protoutil/src/ProtoOutputStream.cpp
@@ -448,6 +448,23 @@
return true;
}
+bool
+ProtoOutputStream::serializeToString(std::string* out)
+{
+ if (out == nullptr) return false;
+ if (!compact()) return false;
+
+
+ sp<ProtoReader> reader = mBuffer->read();
+ out->reserve(reader->size());
+ while (reader->hasNext()) {
+ out->append(static_cast<const char*>(static_cast<const void*>(reader->readBuffer())),
+ reader->currentToRead());
+ reader->move(reader->currentToRead());
+ }
+ return true;
+}
+
sp<ProtoReader>
ProtoOutputStream::data()
{