mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Refactor file analysis file ID lookup.
Now using a dictionary instead of std::map as order doesn't matter and lookup time shouldn't increase as more files are in process of being analyzed.
This commit is contained in:
parent
80d7a1482c
commit
bc5c02cb74
2 changed files with 30 additions and 28 deletions
|
@ -4,10 +4,9 @@
|
|||
#define FILE_ANALYSIS_MANAGER_H
|
||||
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <queue>
|
||||
|
||||
#include "Dict.h"
|
||||
#include "Net.h"
|
||||
#include "Conn.h"
|
||||
#include "Val.h"
|
||||
|
@ -27,6 +26,9 @@
|
|||
|
||||
namespace file_analysis {
|
||||
|
||||
declare(PDict,bool);
|
||||
declare(PDict,File);
|
||||
|
||||
/**
|
||||
* Main entry point for interacting with file analysis.
|
||||
*/
|
||||
|
@ -288,8 +290,8 @@ public:
|
|||
protected:
|
||||
friend class FileTimer;
|
||||
|
||||
typedef set<string> IDSet;
|
||||
typedef map<string, File*> IDMap;
|
||||
typedef PDict(bool) IDSet;
|
||||
typedef PDict(File) IDMap;
|
||||
|
||||
/**
|
||||
* Create a new file to be analyzed or retrieve an existing one.
|
||||
|
@ -361,8 +363,8 @@ protected:
|
|||
|
||||
private:
|
||||
|
||||
IDMap id_map; /**< Map file ID to file_analysis::File records. */
|
||||
IDSet ignored; /**< Ignored files. Will be finally removed on EOF. */
|
||||
PDict(File) id_map; /**< Map file ID to file_analysis::File records. */
|
||||
PDict(bool) ignored; /**< Ignored files. Will be finally removed on EOF. */
|
||||
string current_file_id; /**< Hash of what get_file_handle event sets. */
|
||||
RuleFileMagicState* magic_state; /**< File magic signature match state. */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue