From dbecceec0911ab6fd2f33a73c839b022b5e4fc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 21 Oct 2019 09:40:00 +0200 Subject: [PATCH] expanding_reporter: configure initial buffer size Fixes #3543. --- repos/os/include/os/reporter.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/repos/os/include/os/reporter.h b/repos/os/include/os/reporter.h index ea27b4e76..6c32a669c 100644 --- a/repos/os/include/os/reporter.h +++ b/repos/os/include/os/reporter.h @@ -156,6 +156,8 @@ class Genode::Expanding_reporter typedef Session_label Label; typedef String<64> Node_type; + struct Initial_buffer_size { size_t value; }; + private: Env &_env; @@ -165,7 +167,7 @@ class Genode::Expanding_reporter Constructible _reporter { }; - size_t _buffer_size = 4096; + size_t _buffer_size; void _construct() { @@ -181,8 +183,10 @@ class Genode::Expanding_reporter public: - Expanding_reporter(Env &env, Node_type const &type, Label const &label) - : _env(env), _type(type), _label(label) { _construct(); } + Expanding_reporter(Env &env, Node_type const &type, Label const &label, + Initial_buffer_size const size = { 4096 }) + : _env(env), _type(type), _label(label), _buffer_size(size.value) + { _construct(); } template void generate(FN const &fn)