Public Member Functions | |
std::string | current_source () |
virtual void | HandleResponseWithHosts (XrdCl::XRootDStatus *status, XrdCl::AnyObject *response, XrdCl::HostList *hostList) override |
std::shared_future < std::shared_ptr< Source > > | open () |
~OpenHandler () | |
Static Public Member Functions | |
static std::shared_ptr < OpenHandler > | getInstance (std::weak_ptr< RequestManager > manager) |
Private Member Functions | |
OpenHandler (std::weak_ptr< RequestManager > manager) | |
Private Attributes | |
std::unique_ptr< XrdCl::File > | m_file |
std::weak_ptr< RequestManager > | m_manager |
std::recursive_mutex | m_mutex |
std::promise< std::shared_ptr < Source > > | m_promise |
std::shared_ptr< OpenHandler > | m_self |
std::weak_ptr< OpenHandler > | m_self_weak |
std::shared_future < std::shared_ptr< Source > > | m_shared_future |
Definition at line 220 of file XrdRequestManager.h.
XrdAdaptor::RequestManager::OpenHandler::~OpenHandler | ( | ) |
Definition at line 1000 of file XrdRequestManager.cc.
|
private |
Definition at line 992 of file XrdRequestManager.cc.
Referenced by getInstance().
std::string XrdAdaptor::RequestManager::OpenHandler::current_source | ( | ) |
Returns the current source server name. Useful primarily for debugging.
Definition at line 1060 of file XrdRequestManager.cc.
References AlCaHLTBitMon_QueryRunRegistry::string.
|
inlinestatic |
Definition at line 224 of file XrdRequestManager.h.
References instance, m_self_weak, and OpenHandler().
Referenced by XrdAdaptor::RequestManager::initialize().
|
overridevirtual |
Handle the file-open response
Definition at line 1006 of file XrdRequestManager.cc.
References cms::Exception::addContext(), TauDecayModes::dec, XrdAdaptor::Source::determineHostExcludeString(), edm::errors::FileOpenError, GET_CLOCK_MONOTONIC, eostools::move(), fileCollector::now, SendMonitoringInfo(), source, popcon_last_value_cfg::Source, ntuplemaker::status, and AlCaHLTBitMon_QueryRunRegistry::string.
std::shared_future< std::shared_ptr< Source > > XrdAdaptor::RequestManager::OpenHandler::open | ( | ) |
Future-based version of the handler If called while a file-open is in progress, we will not start a new file-open. Instead, the callback will be fired for the ongoing open.
NOTE NOTE: This function is not thread-safe due to a lock-ordering issue. The caller must ensure it is not called from multiple threads at once for this object.
Definition at line 1075 of file XrdRequestManager.cc.
References XrdAdaptor::RequestManager::addConnections(), cms::Exception::addContext(), TauDecayModes::dec, reco_application_tbsim_DetSim-Digi_cfg::File, edm::errors::FileOpenError, edm::errors::LogicError, XrdAdaptor::RequestManager::m_flags, XrdAdaptor::RequestManager::m_name, XrdAdaptor::RequestManager::m_perms, XrdAdaptor::RequestManager::prepareOpaqueString(), ntuplemaker::status, and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
Definition at line 262 of file XrdRequestManager.h.
|
private |
Definition at line 270 of file XrdRequestManager.h.
|
private |
Definition at line 263 of file XrdRequestManager.h.
|
private |
Definition at line 259 of file XrdRequestManager.h.
|
private |
Definition at line 264 of file XrdRequestManager.h.
|
private |
Definition at line 269 of file XrdRequestManager.h.
Referenced by getInstance().
|
private |
Definition at line 258 of file XrdRequestManager.h.