logging/Manager: Implement DelayTokenType as an actual opaque

With a bit of tweaking in the JavaScript plugin to support opaque types, this
will allow the delay functionality to work there, too.

Making the LogDelayToken an actual opaque seems reasonable, too. It's not
supposed to be user inspected.
This commit is contained in:
Arne Welzel 2023-11-27 18:18:08 +01:00
parent 2dbb467ba2
commit 5e046eee58
13 changed files with 130 additions and 32 deletions

View file

@ -244,6 +244,8 @@ const char* zeek_version() {
namespace detail {
zeek::OpaqueTypePtr log_delay_token_type;
static std::vector<const char*> to_cargs(const std::vector<std::string>& args) {
std::vector<const char*> rval;
rval.reserve(args.size());
@ -719,6 +721,7 @@ SetupResult setup(int argc, char** argv, Options* zopts) {
int_histogram_metric_family_type = make_intrusive<OpaqueType>("int_histogram_metric_family");
dbl_histogram_metric_type = make_intrusive<OpaqueType>("dbl_histogram_metric");
dbl_histogram_metric_family_type = make_intrusive<OpaqueType>("dbl_histogram_metric_family");
log_delay_token_type = make_intrusive<OpaqueType>("LogDelayToken");
// After spinning up Broker, we have background threads running now. If
// we exit early, we need to shut down at least Broker to get a clean