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/Debug.h"
#include "zeek/Desc.h"
#include "zeek/Event.h"
#include "zeek/EventTrace.h"
#include "zeek/Expr.h"
#include "zeek/File.h"
#include "zeek/Frame.h"
@ -1076,11 +1077,17 @@ EventStmt::EventStmt(EventExprPtr arg_e) : ExprStmt(STMT_EVENT, arg_e), event_ex
ValPtr EventStmt::Exec(Frame* f, StmtFlowType& flow)
{
RegisterAccess();
auto args = eval_list(f, event_expr->Args());
auto h = event_expr->Handler();
if ( args && h )
{
if ( etm )
etm->ScriptEventQueued(h);
event_mgr.Enqueue(h, std::move(*args));
}
flow = FLOW_NEXT;
return nullptr;