![]() |
XRootD
|
#include <XrdClMessageUtils.hh>
Static Public Member Functions | |
template<class Request > | |
static void | CreateRequest (Message *&msg, Request *&req, uint32_t payloadSize=0) |
Create a message. More... | |
template<typename T > | |
static Status | CreateXAttrBody (Message *msg, const std::vector< T > &vec, const std::string &path="") |
static Status | CreateXAttrVec (const std::vector< std::string > &attrs, std::vector< char > &nvec) |
static Status | CreateXAttrVec (const std::vector< xattr_t > &attrs, std::vector< char > &avec) |
Create xattr vector. More... | |
static void | MergeCGI (URL::ParamsMap &cgi1, const URL::ParamsMap &cgi2, bool replace) |
Merge cgi2 into cgi1. More... | |
static void | ProcessSendParams (MessageSendParams &sendParams) |
Process sending params. More... | |
static Status | RedirectMessage (const URL &url, Message *msg, ResponseHandler *handler, MessageSendParams &sendParams, LocalFileHandler *lFileHandler) |
Redirect message. More... | |
static void | RewriteCGIAndPath (Message *msg, const URL::ParamsMap &newCgi, bool replace, const std::string &newPath) |
Append cgi to the one already present in the message. More... | |
static XRootDStatus | SendMessage (const URL &url, Message *msg, ResponseHandler *handler, MessageSendParams &sendParams, LocalFileHandler *lFileHandler) |
Send message. More... | |
template<class Type > | |
static XrdCl::XRootDStatus | WaitForResponse (SyncResponseHandler *handler, Type *&response) |
Wait for the response. More... | |
static XRootDStatus | WaitForStatus (SyncResponseHandler *handler) |
Wait and return the status of the query. More... | |
Definition at line 149 of file XrdClMessageUtils.hh.
|
inlinestatic |
Create a message.
Definition at line 198 of file XrdClMessageUtils.hh.
References XrdCl::Buffer::GetBuffer(), and XrdCl::Buffer::Zero().
Referenced by XrdCl::FileStateHandler::Checkpoint(), XrdCl::FileStateHandler::ChkptWrt(), XrdCl::FileStateHandler::ChkptWrtV(), XrdCl::FileSystem::ChMod(), XrdCl::FileStateHandler::Close(), XrdCl::FileSystem::DirList(), XrdCl::FileStateHandler::Fcntl(), XrdCl::FileSystem::Locate(), XrdCl::FileSystem::MkDir(), XrdCl::FileSystem::Mv(), XrdCl::FileStateHandler::Open(), XrdCl::FileStateHandler::PgReadImpl(), XrdCl::FileStateHandler::PgWriteImpl(), XrdCl::FileSystem::Ping(), XrdCl::FileSystem::Prepare(), XrdCl::FileSystem::Protocol(), XrdCl::FileSystem::Query(), XrdCl::FileStateHandler::Read(), XrdCl::FileStateHandler::ReadV(), XrdCl::FileSystem::Rm(), XrdCl::FileSystem::RmDir(), XrdCl::FileSystem::Stat(), XrdCl::FileStateHandler::Stat(), XrdCl::FileSystem::StatVFS(), XrdCl::FileStateHandler::Sync(), XrdCl::FileSystem::Truncate(), XrdCl::FileStateHandler::Truncate(), XrdCl::FileStateHandler::VectorRead(), XrdCl::FileStateHandler::VectorWrite(), XrdCl::FileStateHandler::Visa(), XrdCl::FileStateHandler::Write(), and XrdCl::FileStateHandler::WriteV().
|
inlinestatic |
Create body of xattr request and set the body size
msg | : the request |
vec | : the argument |
path | : file path |
Definition at line 286 of file XrdClMessageUtils.hh.
References XrdCl::Buffer::Append(), CreateXAttrVec(), ClientRequestHdr::dlen, XrdCl::Buffer::GetBuffer(), and XrdCl::Status::IsOK().
|
static |
Create xattr name vector vector
attrs | : extended attribute name list |
nvec | : vector containing the name vector |
Definition at line 455 of file XrdClMessageUtils.cc.
References XrdCl::errInvalidArgs, kXR_faMaxNlen, kXR_faMaxVars, ClientFattrRequest::NVecInsert(), and XrdCl::stError.
|
static |
Create xattr vector.
Create xattr vector
attrs | : extended attribute list |
avec | : vector containing the name vector and the value vector |
Definition at line 404 of file XrdClMessageUtils.cc.
References XrdCl::errInvalidArgs, kXR_faMaxNlen, kXR_faMaxVars, kXR_faMaxVlen, ClientFattrRequest::NVecInsert(), XrdCl::stError, and ClientFattrRequest::VVecInsert().
Referenced by CreateXAttrBody().
|
static |
Merge cgi2 into cgi1.
Merge cgi2 into cgi1
cgi1 | cgi to be merged into |
cgi2 | cgi to be merged in |
replace | indicates whether, in case of a conflict, the new CGI parameter should replace an existing one or be appended to it using a comma |
Definition at line 378 of file XrdClMessageUtils.cc.
Referenced by XrdCl::FileStateHandler::OnOpen(), XrdCl::FileStateHandler::OnStateRedirection(), RewriteCGIAndPath(), and XrdCl::FileStateHandler::TryOtherServer().
|
static |
Process sending params.
Definition at line 220 of file XrdClMessageUtils.cc.
References XrdCl::DefaultRedirectLimit, XrdCl::DefaultRequestTimeout, XrdCl::MessageSendParams::expires, XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::MessageSendParams::redirectLimit, and XrdCl::MessageSendParams::timeout.
Referenced by XrdCl::FileStateHandler::Checkpoint(), XrdCl::FileStateHandler::ChkptWrt(), XrdCl::FileStateHandler::ChkptWrtV(), XrdCl::FileSystem::ChMod(), XrdCl::FileStateHandler::Close(), XrdCl::FileSystem::DirList(), XrdCl::FileStateHandler::Fcntl(), XrdCl::FileSystem::Locate(), XrdCl::FileSystem::MkDir(), XrdCl::FileSystem::Mv(), XrdCl::FileStateHandler::Open(), XrdCl::FileStateHandler::PgReadImpl(), XrdCl::FileStateHandler::PgWriteImpl(), XrdCl::FileSystem::Ping(), XrdCl::FileSystem::Prepare(), XrdCl::FileSystem::Protocol(), XrdCl::FileSystem::Query(), XrdCl::FileStateHandler::Read(), XrdCl::FileStateHandler::ReadV(), XrdCl::FileSystem::Rm(), XrdCl::FileSystem::RmDir(), XrdCl::FileSystem::Stat(), XrdCl::FileStateHandler::Stat(), XrdCl::FileSystem::StatVFS(), XrdCl::FileStateHandler::Sync(), XrdCl::FileSystem::Truncate(), XrdCl::FileStateHandler::Truncate(), XrdCl::FileStateHandler::VectorRead(), XrdCl::FileStateHandler::VectorWrite(), XrdCl::FileStateHandler::Visa(), XrdCl::FileStateHandler::Write(), and XrdCl::FileStateHandler::WriteV().
|
static |
Redirect message.
Definition at line 150 of file XrdClMessageUtils.cc.
References XrdCl::MessageSendParams::chunkedResponse, XrdCl::MessageSendParams::chunkList, XrdCl::Log::Dump(), XrdCl::Log::Error(), XrdCl::errUninitialized, XrdCl::MessageSendParams::expires, XrdCl::HostInfo::flags, XrdCl::MessageSendParams::followRedirects, XrdCl::URL::GetHostId(), XrdCl::DefaultEnv::GetLog(), XrdCl::Message::GetObfuscatedDescription(), XrdCl::DefaultEnv::GetPostMaster(), XrdCl::RedirectorRegistry::Instance(), XrdCl::Status::IsOK(), kXR_attrMeta, kXR_attrVirtRdr, kXR_isManager, XrdCl::MessageSendParams::loadBalancer, XrdCl::XRootDTransport::MarshallRequest(), XrdCl::PostMaster::Redirect(), XrdCl::MessageSendParams::redirectLimit, XrdCl::RedirectorRegistry::Register(), XrdCl::XRootDMsgHandler::SetChunkList(), XrdCl::XRootDMsgHandler::SetExpiration(), XrdCl::XRootDMsgHandler::SetFollowMetalink(), XrdCl::XRootDMsgHandler::SetHostList(), XrdCl::XRootDMsgHandler::SetLoadBalancer(), XrdCl::XRootDMsgHandler::SetOksofarAsAnswer(), XrdCl::XRootDMsgHandler::SetRedirectAsAnswer(), XrdCl::XRootDMsgHandler::SetRedirectCounter(), XrdCl::stError, XrdCl::Status::ToString(), XrdCl::XRootDTransport::UnMarshallRequest(), and XrdCl::XRootDMsg.
|
static |
Append cgi to the one already present in the message.
Rewrite CGI and path if necessary
msg | message concerned |
newCgi | the new cgi |
replace | indicates whether, in case of a conflict, the new CGI parameter should replace an existing one or be appended to it using a comma |
newPath | will be used as the new destination path if it is not empty |
Definition at line 250 of file XrdClMessageUtils.cc.
References XrdCl::DefaultPreserveLocateTried, ClientRequestHdr::dlen, XrdCl::Buffer::GetBuffer(), XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::URL::GetParams(), XrdCl::URL::GetPathWithFilteredParams(), ClientRequest::header, kXR_chmod, kXR_locate, kXR_mkdir, kXR_mv, kXR_open, kXR_rm, kXR_rmdir, kXR_stat, kXR_truncate, MergeCGI(), XrdCl::Buffer::ReAllocate(), ClientRequestHdr::requestid, XrdCl::XRootDTransport::SetDescription(), XrdCl::URL::SetParams(), and XrdCl::URL::SetPath().
|
static |
Send message.
Definition at line 43 of file XrdClMessageUtils.cc.
References ClientRequest::chkpoint, XrdCl::MessageSendParams::chunkedResponse, XrdCl::MessageSendParams::chunkList, XrdCl::MessageSendParams::crc32cDigests, XrdCl::Log::Dump(), XrdCl::Log::Error(), XrdCl::errUninitialized, XrdCl::MessageSendParams::expires, XrdCl::MessageSendParams::followRedirects, XrdCl::Buffer::GetBuffer(), XrdCl::URL::GetHostId(), XrdCl::DefaultEnv::GetLog(), XrdCl::Message::GetObfuscatedDescription(), XrdCl::DefaultEnv::GetPostMaster(), ClientRequest::header, XrdCl::MessageSendParams::hostList, XrdCl::SIDMgrPool::Instance(), XrdCl::Status::IsOK(), XrdCl::URL::IsValid(), XrdCl::MessageSendParams::kbuff, kXR_chkpoint, kXR_ckpXeq, XrdCl::MessageSendParams::loadBalancer, XrdCl::XRootDTransport::MarshallRequest(), ClientChkPointRequest::opcode, XrdCl::MessageSendParams::redirectLimit, ClientRequestHdr::requestid, XrdCl::PostMaster::Send(), XrdCl::XRootDMsgHandler::SetChunkList(), XrdCl::XRootDMsgHandler::SetCrc32cDigests(), XrdCl::XRootDMsgHandler::SetExpiration(), XrdCl::XRootDMsgHandler::SetHostList(), XrdCl::XRootDMsgHandler::SetKernelBuffer(), XrdCl::XRootDMsgHandler::SetLoadBalancer(), XrdCl::XRootDMsgHandler::SetOksofarAsAnswer(), XrdCl::XRootDMsgHandler::SetRedirectAsAnswer(), XrdCl::XRootDMsgHandler::SetRedirectCounter(), XrdCl::XRootDMsgHandler::SetStateful(), XrdCl::MessageSendParams::stateful, XrdCl::stError, ClientRequestHdr::streamid, XrdCl::Status::ToString(), XrdCl::XRootDTransport::UnMarshallRequest(), XrdCl::HostInfo::url, and XrdCl::XRootDMsg.
|
inlinestatic |
Wait for the response.
Definition at line 168 of file XrdClMessageUtils.hh.
References XrdCl::errInternal, XrdCl::AnyObject::Get(), XrdCl::SyncResponseHandler::GetResponse(), XrdCl::SyncResponseHandler::GetStatus(), XrdCl::Status::IsOK(), XrdCl::AnyObject::Set(), XrdCl::stError, and XrdCl::SyncResponseHandler::WaitForResponse().
Referenced by XrdCl::FileSystem::DeepLocate(), XrdCl::FileSystem::DelXAttr(), XrdCl::File::DelXAttr(), XrdCl::FileSystem::DirList(), XrdCl::File::Fcntl(), XrdCl::FileSystem::GetXAttr(), XrdCl::File::GetXAttr(), XrdCl::FileSystem::ListXAttr(), XrdCl::File::ListXAttr(), XrdCl::FileSystem::Locate(), XrdCl::File::PgRead(), XrdCl::FileSystem::Prepare(), XrdCl::FileSystem::Protocol(), XrdCl::FileSystem::Query(), XrdCl::File::Read(), XrdCl::File::ReadV(), XrdCl::FileSystem::SendCache(), XrdCl::FileSystem::SendInfo(), XrdCl::FileSystem::SetXAttr(), XrdCl::File::SetXAttr(), XrdCl::File::Stat(), XrdCl::FileSystem::Stat(), XrdCl::FileSystem::StatVFS(), XrdCl::File::VectorRead(), and XrdCl::File::Visa().
|
inlinestatic |
Wait and return the status of the query.
Definition at line 155 of file XrdClMessageUtils.hh.
References XrdCl::SyncResponseHandler::GetStatus(), and XrdCl::SyncResponseHandler::WaitForResponse().
Referenced by XrdCl::FileSystem::ChMod(), XrdCl::File::Close(), XrdCl::FileSystem::MkDir(), XrdCl::FileSystem::Mv(), XrdCl::File::Open(), XrdCl::File::PgWrite(), XrdCl::FileSystem::Ping(), XrdCl::RedirectorRegistry::RegisterAndWait(), XrdCl::FileSystem::Rm(), XrdCl::FileSystem::RmDir(), XrdCl::File::Sync(), XrdCl::FileSystem::Truncate(), XrdCl::File::Truncate(), XrdCl::File::VectorWrite(), XrdCl::File::Write(), and XrdCl::File::WriteV().