xrootd
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"
22 
26 };
27 
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,
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 
46  kXR_int64 offs, kXR_int32 len,
47  kXR_int64 filelen);
48 
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