XRootD
XrdFrcRequest.hh
Go to the documentation of this file.
1 #ifndef __FRCREQUEST_H__
2 #define __FRCREQUEST_H__
3 /******************************************************************************/
4 /* */
5 /* X r d F r c R e q u e s t . h h */
6 /* */
7 /* (c) 2010 by the Board of Trustees of the Leland Stanford, Jr., University */
8 /* All Rights Reserved */
9 /* Produced by Andrew Hanushevsky for Stanford University under contract */
10 /* DE-AC02-76-SFO0515 with the Department of Energy */
11 /* */
12 /* This file is part of the XRootD software suite. */
13 /* */
14 /* XRootD is free software: you can redistribute it and/or modify it under */
15 /* the terms of the GNU Lesser General Public License as published by the */
16 /* Free Software Foundation, either version 3 of the License, or (at your */
17 /* option) any later version. */
18 /* */
19 /* XRootD is distributed in the hope that it will be useful, but WITHOUT */
20 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
21 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
22 /* License for more details. */
23 /* */
24 /* You should have received a copy of the GNU Lesser General Public License */
25 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
26 /* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
27 /* */
28 /* The copyright holder's institutional names and contributor's names may not */
29 /* be used to endorse or promote products derived from this software without */
30 /* specific prior written permission of the institution or contributor. */
31 /******************************************************************************/
32 
34 {
35 public:
36 
37 char LFN[3072]; // Logical File Name ('\0' optional opaque)
38 char User[256]; // User trace identifier
39 char ID[40]; // Request ID
40 char Notify[512]; // Notification path
41 char Reserved[88];
42 char iName[32]; // Instance name
43 char csValue[64]; // Checksum value (dependent on csType).
44 long long addTOD; // Time added to queue
45 int This; // Offset to this request
46 int Next; // Offset to next request
47 int Options; // Processing options (see below)
48 short LFO; // Offset to lfn in url if LFN is a url (o/w 0)
49 short Opaque; // Offset to '?' in LFN if exists, 0 o/w
50 char Reserved2;
51 char csType; // Checksum type
52 char OPc; // Original Operation Request code (debugging)
53 signed
54 char Prty; // Request priority
55 
56 // Flags set in options
57 //
58 static const int msgFail = 0x00000001;
59 static const int msgSucc = 0x00000002;
60 static const int makeRW = 0x00000004;
61 static const int Migrate = 0x00000010;
62 static const int Purge = 0x00000020;
63 static const int Register = 0x00000040;
64 
65 // Checksum types (not all of which are supported)
66 //
67 static const int csNone = 0;
68 static const int csSHA1 = 1;
69 static const int csSHA2 = 2;
70 static const int csSHA3 = 3;
71 static const int csAdler32= 4;
72 static const int csMD5 = 5;
73 static const int csCRC32 = 6;
74 
75 // These define valid priorities
76 //
77 static const int maxPrty = 2;
78 static const int maxPQE = 3;
79 
80 // The following define what can be listed from the queue
81 //
84 
85 // These define possible queues along with the "nil" queue
86 //
87 static const int stgQ = 0; // Stage queue
88 static const int migQ = 1; // Migrate queue
89 static const int getQ = 2; // Copy in queue
90 static const int putQ = 3; // Copy out queue
91 static const int nilQ = 4; // Empty queue
92 static const int numQ = 5;
93 static const int outQ = 1; // Used as a mask only
94 };
95 #endif
static const int stgQ
static const int getQ
char LFN[3072]
static const int csNone
static const int migQ
char iName[32]
static const int csCRC32
static const int putQ
static const int Purge
static const int msgFail
static const int csSHA2
char User[256]
static const int csMD5
char csValue[64]
static const int makeRW
static const int msgSucc
static const int outQ
static const int csSHA3
static const int Migrate
static const int Register
signed char Prty
static const int csSHA1
static const int csAdler32
char Reserved[88]
static const int numQ
static const int maxPQE
char Notify[512]
static const int nilQ
static const int maxPrty
long long addTOD