FileAnalysis: optimizate connection set updating.

Don't need to be checking/updating that for sequential data input, which
won't be over multiple conns.
This commit is contained in:
Jon Siwek 2013-04-19 11:55:48 -05:00
parent 98f7907dbb
commit c1f37dde5a
2 changed files with 8 additions and 4 deletions

View file

@ -65,7 +65,9 @@ void Manager::DataIn(const u_char* data, uint64 len, AnalyzerTag::Tag tag,
{
if ( IsDisabled(tag) ) return;
GetFileHandle(tag, conn, is_orig);
DataIn(data, len, GetFile(current_handle, conn, tag));
// Sequential data input shouldn't be going over multiple conns, so don't
// do the check to update connection set.
DataIn(data, len, GetFile(current_handle, conn, tag, false));
}
void Manager::DataIn(const u_char* data, uint64 len, const string& unique)
@ -186,7 +188,7 @@ bool Manager::RemoveAnalyzer(const FileID& file_id, const RecordVal* args) const
}
File* Manager::GetFile(const string& unique, Connection* conn,
AnalyzerTag::Tag tag)
AnalyzerTag::Tag tag, bool update_conn)
{
if ( unique.empty() ) return 0;
if ( IsIgnored(unique) ) return 0;
@ -211,6 +213,7 @@ File* Manager::GetFile(const string& unique, Connection* conn,
else
{
rval->UpdateLastActivityTime();
if ( update_conn )
rval->UpdateConnectionFields(conn);
}

View file

@ -134,7 +134,8 @@ protected:
* fields.
*/
File* GetFile(const string& unique, Connection* conn = 0,
AnalyzerTag::Tag tag = AnalyzerTag::Error);
AnalyzerTag::Tag tag = AnalyzerTag::Error,
bool update_conn = true);
/**
* @return the File object mapped to \a file_id, or a null pointer if no