Merge remote-tracking branch 'origin/topic/vern/event-trace'

* origin/topic/vern/event-trace:
  low-level style tweaks
  --event-trace / -E option to generate event trace
  hooks to support event tracing
  classes providing event-tracing/dumping functionality
  provide access to Val internals for event tracing purposes
  set_network_time() BiF in support of event replaying
  low-level naming tweaks / comments / const-ified accessor
This commit is contained in:
Tim Wojtulewicz 2022-03-25 15:31:21 -07:00
commit fe935a572f
15 changed files with 1646 additions and 19 deletions

View file

@ -8,6 +8,7 @@
#include "zeek/Desc.h"
#include "zeek/Event.h"
#include "zeek/EventRegistry.h"
#include "zeek/EventTrace.h"
#include "zeek/Frame.h"
#include "zeek/Func.h"
#include "zeek/Hash.h"
@ -4322,7 +4323,14 @@ ValPtr ScheduleExpr::Eval(Frame* f) const
auto args = eval_list(f, event->Args());
if ( args )
timer_mgr->Add(new ScheduleTimer(event->Handler(), std::move(*args), dt));
{
auto handler = event->Handler();
if ( etm )
etm->ScriptEventQueued(handler);
timer_mgr->Add(new ScheduleTimer(handler, std::move(*args), dt));
}
return nullptr;
}
@ -4861,7 +4869,12 @@ ValPtr EventExpr::Eval(Frame* f) const
auto v = eval_list(f, args.get());
if ( handler )
{
if ( etm )
etm->ScriptEventQueued(handler);
event_mgr.Enqueue(handler, std::move(*v));
}
return nullptr;
}