#include <XrdXrootdPgwCtl.hh>
Definition at line 41 of file XrdXrootdPgwCtl.hh.
◆ XrdXrootdPgwCtl()
XrdXrootdPgwCtl::XrdXrootdPgwCtl |
( |
int |
pid | ) |
|
◆ ~XrdXrootdPgwCtl()
XrdXrootdPgwCtl::~XrdXrootdPgwCtl |
( |
| ) |
|
|
inline |
◆ Advance()
bool XrdXrootdPgwCtl::Advance |
( |
| ) |
|
Definition at line 81 of file XrdXrootdPgwCtl.cc.
94 ioVec[1].iov_base = dataBuff;
95 ioVec[1].iov_len = pgPageSize;
99 if (iovRem > iovNum) iovRem -= iovNum;
100 else {iovNum = iovRem;
103 {ioVec[iovNum-1].iov_len = endLen;
111 iovLen = ioVec[iovNum-1].iov_len + (n*
crcSZ);
112 if (n > 1) iovLen += (n-1)*pgPageSize;
References crcSZ.
◆ FrameInfo() [1/2]
kXR_unt32* XrdXrootdPgwCtl::FrameInfo |
( |
int & |
csNum, |
|
|
char *& |
buff, |
|
|
int & |
datalen, |
|
|
XrdBuffer * |
bP |
|
) |
| |
|
inline |
◆ FrameInfo() [2/2]
struct iovec* XrdXrootdPgwCtl::FrameInfo |
( |
int & |
iovn, |
|
|
int & |
rdlen |
|
) |
| |
|
inline |
◆ FrameLeft()
char* XrdXrootdPgwCtl::FrameLeft |
( |
int |
k, |
|
|
int & |
dlen |
|
) |
| |
|
inline |
Definition at line 68 of file XrdXrootdPgwCtl.hh.
70 if (k >= iovNum) {dlen = 0;
return 0;}
71 char *buff = (
char *)ioVec[k+1].iov_base;
72 if (!k) dlen = iovLen - (iovNum/2*
crcSZ);
73 else {
int n = (iovNum - k)/2;
static const int kXR_pgPageSZ
References crcSZ, and XrdProto::kXR_pgPageSZ.
◆ Setup()
Definition at line 123 of file XrdXrootdPgwCtl.cc.
131 {ioVec[fixSRD].iov_len = pgPageSize;
147 if (!iovMax)
return "PgwCtl logic error detected; buffer is too small";
153 if (buffP->
buff != dataBuff || buffP->
bsize != dataBLen)
155 dP = dataBuff = buffP->
buff; dataBLen = buffP->
bsize;
156 for (
int i = 1; i < iovMax; i +=2)
157 {ioVec[i].iov_base = dP;
165 ioVec[1].iov_len = layout.
fLen;
172 iovLen = layout.
fLen + ((iovMax/2-1)*pgPageSize) + (iovMax/2*
crcSZ);
173 endLen = layout.
lLen;
179 {ioVec[iovNum-1].iov_len = layout.
lLen;
184 lenLeft = layout.
sockLen - iovLen;
off_t bOffset
Buffer offset to apply iov[1].iov_base.
int fLen
Length to use for iov[1].iov_len.
int sockLen
Total number of network bytes the iovec will handle.
const char * eWhy
Reason for failure when zero is returned.
int lLen
Length to use for iov[csnum*2-1].iov_len)
static int recvLayout(Layout &layout, off_t offs, int dlen, int bsz=0)
Compute the layout for an iovec that receives network bytes applying.
static const int maxBSize
ServerResponseBody_pgWrite info
References XrdOucPgrwUtils::Layout::bOffset, XrdXrootdPgwBadCS::boReset(), XrdBuffer::bsize, XrdBuffer::buff, crcSZ, XrdOucPgrwUtils::Layout::eWhy, XrdOucPgrwUtils::Layout::fLen, info, XrdProto::kXR_pgPageSZ, XrdOucPgrwUtils::Layout::lLen, maxBSize, ServerResponseBody_pgWrite::offset, XrdOucPgrwUtils::recvLayout(), and XrdOucPgrwUtils::Layout::sockLen.
◆ crcSZ
const int XrdXrootdPgwCtl::crcSZ = sizeof(kXR_unt32) |
|
static |
◆ info
◆ maxBSize
const int XrdXrootdPgwCtl::maxBSize = 1048576 |
|
static |
◆ maxIOVN
◆ resp
The documentation for this class was generated from the following files: