diff options
author | Yi Jin <jinyithu@google.com> | 2018-02-02 16:25:11 -0800 |
---|---|---|
committer | Yi Jin <jinyithu@google.com> | 2018-02-09 14:20:48 -0800 |
commit | 7f9e63b63269baa41a36fc31acd6fc071309c26c (patch) | |
tree | 783f5e5b55341f7dad48db2fba706295f9b25ca8 /libs/protoutil/src | |
parent | 421822ce0f3bb581d36cdc5273d4c345c634f9c0 (diff) |
Add clear method to ProtoOutputStream so it is reusable by just
rewinding its internal pointer.
Bug: 72319159
Test: atest incidentd_test and atest statsd_test
Change-Id: Id046b987a7460d68300e5d4d46ae56aec1eba2d0
Diffstat (limited to 'libs/protoutil/src')
-rw-r--r-- | libs/protoutil/src/EncodedBuffer.cpp | 7 | ||||
-rw-r--r-- | libs/protoutil/src/ProtoOutputStream.cpp | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libs/protoutil/src/EncodedBuffer.cpp b/libs/protoutil/src/EncodedBuffer.cpp index 435ae8836217..3a5e2e9ef5d0 100644 --- a/libs/protoutil/src/EncodedBuffer.cpp +++ b/libs/protoutil/src/EncodedBuffer.cpp @@ -106,6 +106,13 @@ EncodedBuffer::at(const Pointer& p) const return mBuffers[p.index()] + p.offset(); } +void +EncodedBuffer::clear() +{ + mWp.rewind(); + mEp.rewind(); +} + /******************************** Write APIs ************************************************/ size_t EncodedBuffer::size() const diff --git a/libs/protoutil/src/ProtoOutputStream.cpp b/libs/protoutil/src/ProtoOutputStream.cpp index f24abaed2dce..9d9ffec4c588 100644 --- a/libs/protoutil/src/ProtoOutputStream.cpp +++ b/libs/protoutil/src/ProtoOutputStream.cpp @@ -36,6 +36,18 @@ ProtoOutputStream::~ProtoOutputStream() { } + +void +ProtoOutputStream::clear() +{ + mBuffer.clear(); + mCopyBegin = 0; + mCompact = false; + mDepth = 0; + mObjectId = 0; + mExpectedObjectToken = 0LL; +} + bool ProtoOutputStream::write(uint64_t fieldId, double val) { |