mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 08:38:20 +00:00
Cleanup/improve PList usage and Event API
Majority of PLists are now created as automatic/stack objects, rather than on heap and initialized either with the known-capacity reserved upfront or directly from an initializer_list (so there's no wasted slack in the memory that gets allocated for lists containing a fixed/known number of elements). Added versions of the ConnectionEvent/QueueEvent methods that take a val_list by value. Added a move ctor/assign-operator to Plists to allow passing them around without having to copy the underlying array of pointers.
This commit is contained in:
parent
78dcbcc71a
commit
8bc65f09ec
92 changed files with 1585 additions and 1679 deletions
|
@ -17,16 +17,11 @@ void RuleActionEvent::DoAction(const Rule* parent, RuleEndpointState* state,
|
|||
{
|
||||
if ( signature_match )
|
||||
{
|
||||
val_list* vl = new val_list;
|
||||
vl->append(rule_matcher->BuildRuleStateValue(parent, state));
|
||||
vl->append(new StringVal(msg));
|
||||
|
||||
if ( data )
|
||||
vl->append(new StringVal(len, (const char*)data));
|
||||
else
|
||||
vl->append(val_mgr->GetEmptyString());
|
||||
|
||||
mgr.QueueEvent(signature_match, vl);
|
||||
mgr.QueueEvent(signature_match, {
|
||||
rule_matcher->BuildRuleStateValue(parent, state),
|
||||
new StringVal(msg),
|
||||
data ? new StringVal(len, (const char*)data) : val_mgr->GetEmptyString(),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue