XrdClientMStream Class Reference

#include <XrdClientMStream.hh>

List of all members.

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


Detailed Description

Definition at line 19 of file XrdClientMStream.hh.


Member Function Documentation

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().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:17 2011 for ROOT_528-00b_version by  doxygen 1.5.1