1 #ifndef Utilities_XrdAdaptor_XrdSource_h 2 #define Utilities_XrdAdaptor_XrdSource_h 4 #include "XrdCl/XrdClXRootDResponses.hh" 10 #include <boost/utility.hpp> 22 class XrdSiteStatistics;
23 class XrdStatisticsService;
25 class Source :
public std::enable_shared_from_this<Source>, boost::noncopyable {
31 void handle(std::shared_ptr<ClientRequest>);
33 void handle(RequestList &);
35 std::shared_ptr<XrdCl::File> getFileHandle();
44 struct timespec getLastDowngrade()
const {
45 return m_lastDowngrade;
54 static void determineHostExcludeString(
XrdCl::File &file,
const XrdCl::HostList *hostList,
std::string &exclude);
59 static bool isDCachePool(
XrdCl::File &file,
const XrdCl::HostList *hostList =
nullptr);
66 void requestCallback();
75 struct timespec m_lastDowngrade;
edm::propagate_const< std::shared_ptr< XrdSiteStatistics > > m_stats
void setLastDowngrade(struct timespec now)
const std::string & PrettyID() const
std::shared_ptr< XrdSiteStatistics const > stats() const
edm::propagate_const< std::shared_ptr< XrdCl::File > > m_fh
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
std::shared_ptr< XrdCl::File const > fh() const
const std::string & Site() const
edm::propagate_const< std::unique_ptr< QualityMetricSource > > m_qm
const std::string & ExcludeID() const
std::shared_ptr< XrdCl::File > & fh()
const std::string & ID() const
std::shared_ptr< XrdSiteStatistics > & stats()