#include <XrdClientMStream.hh>
Static Public Member Functions | |
static void | GetGoodSplitParameters (XrdClientConn *cliconn, int &spltsize, int &reqsperstream, kXR_int32 len) |
static int | EstablishParallelStreams (XrdClientConn *cliconn) |
static int | AddParallelStream (XrdClientConn *cliconn, int port, int windowsz, int tempid) |
static int | RemoveParallelStream (XrdClientConn *cliconn, int substream) |
static bool | BindPendingStream (XrdClientConn *cliconn, int substreamid, int &newid) |
static bool | SplitReadRequest (XrdClientConn *cliconn, kXR_int64 offset, kXR_int32 len, XrdClientVector< ReadChunk > &reqlists) |
Classes | |
struct | ReadChunk |
Definition at line 19 of file XrdClientMStream.hh.
void XrdClientMStream::GetGoodSplitParameters | ( | XrdClientConn * | cliconn, | |
int & | spltsize, | |||
int & | reqsperstream, | |||
kXR_int32 | len | |||
) | [static] |
Definition at line 283 of file XrdClientMStream.cc.
References DFLT_MULTISTREAMSPLITSIZE, XrdClientConn::GetParallelStreamCount(), and xrdmax.
Referenced by XrdClient::ReadV(), and SplitReadRequest().
int XrdClientMStream::EstablishParallelStreams | ( | XrdClientConn * | cliconn | ) | [static] |
Definition at line 52 of file XrdClientMStream.cc.
References ParStreamOpenerArgs::cliconn, ServerResponseHeader::dlen, EnvGetLong, Error, XrdClientConn::GetLogConnID(), XrdClientConn::GetPhyConn(), XrdClientConn::GetServerType(), i, Info, XrdClientThread::Join(), XrdClientDebug::kHIDEBUG, kSTBaseXrootd, XrdClientDebug::kUSERDEBUG, kXR_ok, kXR_Qconfig, kXR_query, XrdClientConn::LastServerResp, NAME_MULTISTREAMCNT, ParStreamOpenerThread(), XrdClientConn::SendGenCommand(), XrdClientConn::SetSID(), ServerResponseHeader::status, XrdClientPhyConnection::TestAndSetMStreamsGoing(), ParStreamOpenerArgs::thr, ParStreamOpenerArgs::tmpid, ParStreamOpenerArgs::wan_port, ParStreamOpenerArgs::wan_window, and XRDCLI_PSOCKTEMP.
Referenced by XrdClient::TryOpen().
int XrdClientMStream::AddParallelStream | ( | XrdClientConn * | cliconn, | |
int | port, | |||
int | windowsz, | |||
int | tempid | |||
) | [static] |
Definition at line 145 of file XrdClientMStream.cc.
References BindPendingStream(), XrdClientPhyConnection::DoHandShake(), EnvGetLong, XrdClientPhyConnection::EstablishPendingParallelStream(), XrdClientConn::GetLogConnID(), XrdClientConn::GetPhyConn(), XrdClientPhyConnection::GetSockIdCount(), Info, XrdClientPhyConnection::IsValid(), XrdClientDebug::kHIDEBUG, kSTError, NAME_MULTISTREAMCNT, XrdClientPhyConnection::ReinitFDTable(), RemoveParallelStream(), XrdClientPhyConnection::TryConnectParallelStream(), and XrdClientPhyConnection::UnBanSockDescr().
Referenced by ParStreamOpenerThread().
int XrdClientMStream::RemoveParallelStream | ( | XrdClientConn * | cliconn, | |
int | substream | |||
) | [static] |
Definition at line 199 of file XrdClientMStream.cc.
References ConnectionManager, XrdClientConn::GetLogConnID(), log(), and XrdClientPhyConnection::RemoveParallelStream().
Referenced by AddParallelStream().
bool XrdClientMStream::BindPendingStream | ( | XrdClientConn * | cliconn, | |
int | substreamid, | |||
int & | newid | |||
) | [static] |
Definition at line 218 of file XrdClientMStream.cc.
References clientMarshall(), clientUnmarshall(), ConnectionManager, ServerResponseHeader::dlen, Error, XrdClientConn::GetLogConnID(), XrdClientConn::GetSessionID(), XrdClientConn::SessionIDInfo::id, kXR_bind, kXR_ok, XrdClientPhyConnection::ReadRaw(), XrdClientConn::SetSID(), ServerResponseHeader::status, and XrdClientPhyConnection::WriteRaw().
Referenced by AddParallelStream().
bool XrdClientMStream::SplitReadRequest | ( | XrdClientConn * | cliconn, | |
kXR_int64 | offset, | |||
kXR_int32 | len, | |||
XrdClientVector< ReadChunk > & | reqlists | |||
) | [static] |
Definition at line 319 of file XrdClientMStream.cc.
References GetGoodSplitParameters(), XrdClientConn::GetParallelStreamToUse(), XrdClientVector< T >::Push_back(), and xrdmin.
Referenced by XrdClient::Read_Async(), and XrdClient::Write().