mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 16:48:19 +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
|
@ -90,12 +90,12 @@ bool Extract::DeliverStream(const u_char* data, uint64 len)
|
|||
if ( limit_exceeded && file_extraction_limit )
|
||||
{
|
||||
File* f = GetFile();
|
||||
val_list* vl = new val_list();
|
||||
vl->append(f->GetVal()->Ref());
|
||||
vl->append(Args()->Ref());
|
||||
vl->append(val_mgr->GetCount(limit));
|
||||
vl->append(val_mgr->GetCount(len));
|
||||
f->FileEvent(file_extraction_limit, vl);
|
||||
f->FileEvent(file_extraction_limit, {
|
||||
f->GetVal()->Ref(),
|
||||
Args()->Ref(),
|
||||
val_mgr->GetCount(limit),
|
||||
val_mgr->GetCount(len),
|
||||
});
|
||||
|
||||
// Limit may have been modified by a BIF, re-check it.
|
||||
limit_exceeded = check_limit_exceeded(limit, depth, len, &towrite);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue