00001 #ifndef _ODC_CONFIG_H 00002 #define _ODC_CONFIG_H 00003 /******************************************************************************/ 00004 /* */ 00005 /* X r d O d c C o n f i g . h h */ 00006 /* */ 00007 /* (C) 2003 by the Board of Trustees of the Leland Stanford, Jr., University */ 00008 /* All Rights Reserved */ 00009 /* Produced by Andrew Hanushevsky for Stanford University under contract */ 00010 /* DE-AC03-76-SFO0515 with the Deprtment of Energy */ 00011 /******************************************************************************/ 00012 00013 // $Id: XrdOdcConfig.hh,v 1.12 2007/07/31 02:24:53 abh Exp $ 00014 00015 #include "XrdOdc/XrdOdcConfDefs.hh" 00016 #include "XrdOuc/XrdOucTList.hh" 00017 #include "XrdOuc/XrdOuca2x.hh" 00018 00019 class XrdSysError; 00020 class XrdOucStream; 00021 00022 /******************************************************************************/ 00023 /* X r d O d c C o n f i g C l a s s */ 00024 /******************************************************************************/ 00025 00026 #define ODC_FAILOVER 'f' 00027 #define ODC_ROUNDROB 'r' 00028 00029 class XrdOdcConfig 00030 { 00031 public: 00032 00033 int Configure(char *cfn, const char *mode, int isBoth=0); 00034 00035 int ConWait; // Seconds to wait for a manager connection 00036 int RepWait; // Seconds to wait for manager replies 00037 int RepWaitMS; // RepWait*1000 for poll() 00038 int RepDelay; // Seconds to delay before retrying manager 00039 int RepNone; // Max number of consecutive non-responses 00040 int PrepWait; // Millisecond wait between prepare requests 00041 00042 char *OLBPath; // Path to the local olb for target nodes 00043 char *myHost; 00044 const char *myName; 00045 00046 XrdOucTList *ManList; // List of managers for remote redirection 00047 XrdOucTList *PanList; // List of managers for proxy redirection 00048 unsigned char SMode; // Manager selection mode 00049 unsigned char SModeP; // Manager selection mode (proxy) 00050 00051 XrdOdcConfig(XrdSysError *erp) 00052 {ConWait = 10; RepWait = 6; RepWaitMS = 3000; RepDelay = 5; 00053 PrepWait = 33; ManList = PanList = 0; 00054 SMode = SModeP = ODC_FAILOVER; 00055 eDest = erp; 00056 OLBPath = 0; RepNone = 8; 00057 } 00058 ~XrdOdcConfig(); 00059 00060 private: 00061 int ConfigProc(char *cfn); 00062 int ConfigXeq(char *var, XrdOucStream &Config); 00063 int xapath(XrdSysError *eDest, XrdOucStream &Config); 00064 int xconw(XrdSysError *eDest, XrdOucStream &Config); 00065 int xmang(XrdSysError *eDest, XrdOucStream &Config); 00066 int xreqs(XrdSysError *eDest, XrdOucStream &Config); 00067 int xtrac(XrdSysError *eDest, XrdOucStream &Config); 00068 00069 XrdSysError *eDest; 00070 }; 00071 #endif
1.7.1