From d896e51c5ddc6c0849d54396be99f6f89881bc06 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 3 May 2020 21:19:40 +0200 Subject: [PATCH] Save/load discovered clients filters. --- profiler/src/main.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/profiler/src/main.cpp b/profiler/src/main.cpp index 11fa703f..01371d0b 100644 --- a/profiler/src/main.cpp +++ b/profiler/src/main.cpp @@ -212,6 +212,27 @@ int main( int argc, char** argv ) connHistVec = RebuildConnectionHistory( connHistMap ); } } + std::string filtersFile = tracy::GetSavePath( "client.filters" ); + { + FILE* f = fopen( filtersFile.c_str(), "rb" ); + if( f ) + { + uint8_t sz; + fread( &sz, 1, sizeof( sz ), f ); + fread( addrFilter.InputBuf, 1, sz, f ); + addrFilter.Build(); + + fread( &sz, 1, sizeof( sz ), f ); + fread( portFilter.InputBuf, 1, sz, f ); + portFilter.Build(); + + fread( &sz, 1, sizeof( sz ), f ); + fread( progFilter.InputBuf, 1, sz, f ); + progFilter.Build(); + + fclose( f ); + } + } // Setup window glfwSetErrorCallback(glfw_error_callback); @@ -360,6 +381,25 @@ int main( int argc, char** argv ) fclose( f ); } } + { + FILE* f = fopen( filtersFile.c_str(), "wb" ); + if( f ) + { + uint8_t sz = strlen( addrFilter.InputBuf ); + fwrite( &sz, 1, sizeof( sz ), f ); + fwrite( addrFilter.InputBuf, 1, sz, f ); + + sz = strlen( portFilter.InputBuf ); + fwrite( &sz, 1, sizeof( sz ), f ); + fwrite( portFilter.InputBuf, 1, sz, f ); + + sz = strlen( progFilter.InputBuf ); + fwrite( &sz, 1, sizeof( sz ), f ); + fwrite( progFilter.InputBuf, 1, sz, f ); + + fclose( f ); + } + } return 0; }