File indexing completed on 2025-08-05 08:16:09
0001
0002
0003 #ifndef FROG_FROG_H
0004 #define FROG_FROG_H
0005
0006 #include <map>
0007 #include <string>
0008
0009 namespace odbc
0010 {
0011 class Connection;
0012 }
0013
0014 class FROG
0015 {
0016 public:
0017 FROG() = default;
0018 virtual ~FROG() = default;
0019
0020 const char *location(const std::string &logical_name);
0021 bool localSearch(const std::string &logical_name);
0022 bool dCacheSearch(const std::string &lname);
0023 bool XRootDSearch(const std::string &lname);
0024 bool LustreSearch(const std::string &lname);
0025 bool MinIOSearch(const std::string &lname);
0026 bool RawDataSearch(const std::string &lname);
0027 bool HpssRawDataSearch(const std::string &lname);
0028 bool PGSearch(const std::string &lname);
0029 void Verbosity(const int i) { m_Verbosity = i; }
0030 int Verbosity() const { return m_Verbosity; }
0031
0032 private:
0033 odbc::Connection *GetConnection(const std::string &database);
0034 void Disconnect();
0035 static const int m_MAX_NUM_RETRIES{3000};
0036 static const int m_MIN_SLEEP_DUR{5000};
0037 static const int m_MAX_SLEEP_DUR{30000};
0038
0039 std::map<std::string, odbc::Connection *> m_OdbcConnectionMap;
0040 int m_Verbosity{0};
0041 std::string pfn;
0042 };
0043
0044 #endif