Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:09

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
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};   // milliseconds
0037   static const int m_MAX_SLEEP_DUR{30000};  // milliseconds
0038 
0039   std::map<std::string, odbc::Connection *> m_OdbcConnectionMap;
0040   int m_Verbosity{0};
0041   std::string pfn;
0042 };
0043 
0044 #endif