Get incidentd cts working again.
- The buffer size increased, and the CTS test that checked that
was triggering.
- Privacy filtering wasn't working for the stack trace sections
- The incident command was not handling the default arguments correctly
- The throttler was throttling streaming reports, which made the
test flaky.
Bug: 126253679
Test: atest CtsIncidentHostTestCases
Change-Id: I342cd7d0421ea8c22b7796fc99e779f21855af73
diff --git a/cmds/incidentd/src/Throttler.h b/cmds/incidentd/src/Throttler.h
index e8f317d7..46a1472 100644
--- a/cmds/incidentd/src/Throttler.h
+++ b/cmds/incidentd/src/Throttler.h
@@ -14,16 +14,19 @@
* limitations under the License.
*/
-#ifndef THROTTLER_H
-#define THROTTLER_H
+#pragma once
+
+#include "Reporter.h"
#include <utils/RefBase.h>
+#include <vector>
#include <unistd.h>
namespace android {
namespace os {
namespace incidentd {
+
/**
* This is a size-based throttler which prevents incidentd to take more data.
*/
@@ -33,8 +36,11 @@
~Throttler();
/**
- * Asserts this before starting taking report.
+ * Return a batch containing reports, if any that should be executed.
+ * Those will be removed from 'queued'.
*/
+ sp<ReportBatch> filterBatch(const sp<ReportBatch>& queued);
+
bool shouldThrottle();
void addReportSize(size_t reportByteSize);
@@ -52,5 +58,3 @@
} // namespace incidentd
} // namespace os
} // namespace android
-
-#endif // THROTTLER_H