xrootd
Main Page
Namespaces
Classes
Files
File List
File Members
src
XrdClient
XrdClientReadV.hh
Go to the documentation of this file.
1
2
// //
3
// XrdClientReadV //
4
// //
5
// Author: Fabrizio Furano (INFN Padova, 2006) //
6
// //
7
// Helper functions for the vectored read functionality //
8
// //
10
11
// $Id$
12
13
14
15
#ifndef XRD_CLIENT_READV
16
#define XRD_CLIENT_READV
17
18
class
XrdClientConn
;
19
#include "
XProtocol/XPtypes.hh
"
20
#include "
XProtocol/XProtocol.hh
"
21
#include "
XrdClient/XrdClientVector.hh
"
22
23
struct
XrdClientReadVinfo
{
24
kXR_int64
offset
;
25
kXR_int32
len
;
26
};
27
28
class
XrdClientReadV
{
29
public
:
30
31
// Builds a request and sends it to the server
32
// If destbuf == 0 the request is sent asynchronously
33
static
kXR_int64
ReqReadV
(
XrdClientConn
*xrdc,
char
*handle,
char
*destbuf,
34
XrdClientVector<XrdClientReadVinfo>
&reqvect,
35
int
firstreq,
int
nreq,
int
streamtosend);
36
37
// Picks a readv response and puts the individual chunks into the dest buffer
38
static
kXR_int32
UnpackReadVResp
(
char
*destbuf,
char
*respdata,
kXR_int32
respdatalen,
39
readahead_list
*buflis,
int
nbuf);
40
41
// Picks a readv response and puts the individual chunks into the cache
42
static
kXR_int32
SubmitToCacheReadVResp
(
XrdClientConn
*xrdc,
char
*respdata,
43
kXR_int32
respdatalen);
44
45
static
void
PreProcessChunkRequest
(
XrdClientVector<XrdClientReadVinfo>
&reqvect,
46
kXR_int64
offs,
kXR_int32
len,
47
kXR_int64
filelen);
48
49
static
void
PreProcessChunkRequest
(
XrdClientVector<XrdClientReadVinfo>
&reqvect,
50
kXR_int64
offs,
kXR_int32
len,
51
kXR_int64
filelen,
52
kXR_int32
spltsize);
53
54
55
};
56
57
58
59
60
61
#endif
Generated by
1.8.1.2