XrdFrmRequest.hh

Go to the documentation of this file.
00001 #ifndef __FRMREQUEST_H__
00002 #define __FRMREQUEST_H__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                      X r d F r m R e q u e s t . h h                       */
00006 /*                                                                            */
00007 /* (c) 2010 by the Board of Trustees of the Leland Stanford, Jr., University  */
00008 /*                            All Rights Reserved                             */
00009 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00010 /*              DE-AC02-76-SFO0515 with the Department of Energy              */
00011 /******************************************************************************/
00012 
00013 //          $Id: XrdFrmRequest.hh 35287 2010-09-14 21:19:35Z ganis $
00014 
00015 class XrdFrmRequest
00016 {
00017 public:
00018 
00019 char      LFN[3072];    // Logical File Name ('\0' optional opaque)
00020 char      User[256];    // User trace identifier
00021 char      ID[40];       // Request ID
00022 char      Notify[512];  // Notification path
00023 char      Reserved[88];
00024 char      iName[32];    // Instance name
00025 char      csValue[64];  // Checksum value (dependent on csType).
00026 long long addTOD;       // Time added to queue
00027 int       This;         // Offset to this request
00028 int       Next;         // Offset to next request
00029 int       Options;      // Processing options (see below)
00030 short     LFO;          // Offset to lfn in url if LFN is a url (o/w 0)
00031 short     Opaque;       // Offset to '?' in LFN if exists, 0 o/w
00032 char      Reserved2;
00033 char      csType;       // Checksum type
00034 char      OPc;          // Original Operation Request code (debugging)
00035 char      Prty;         // Request priority
00036 
00037 // Flags set in options
00038 //
00039 static const int msgFail  = 0x00000001;
00040 static const int msgSucc  = 0x00000002;
00041 static const int makeRW   = 0x00000004;
00042 static const int Migrate  = 0x00000010;
00043 static const int Purge    = 0x00000020;
00044 static const int Register = 0x00000040;
00045 
00046 // Checksum types (not all of which are supported)
00047 //
00048 static const int csNone   = 0;
00049 static const int csSHA1   = 1;
00050 static const int csSHA2   = 2;
00051 static const int csSHA3   = 3;
00052 static const int csAdler32= 4;
00053 static const int csMD5    = 5;
00054 static const int csCRC32  = 6;
00055 
00056 // These define valid priorities
00057 //
00058 static const int maxPrty  = 2;
00059 static const int maxPQE   = 3;
00060 
00061 // The following define what can be listed from the queue
00062 //
00063 enum Item {getOBJ = 0, getLFN, getOBJCGI, getLFNCGI, getMODE, getNOTE, getOP,
00064            getPRTY,    getQWT, getRID,    getTOD,    getUSER, getLast};
00065 
00066 // These define possible queues along with the "nil" queue
00067 //
00068 static const int     stgQ = 0;  // Stage    queue
00069 static const int     migQ = 1;  // Migrate  queue
00070 static const int     getQ = 2;  // Copy in  queue
00071 static const int     putQ = 3;  // Copy out queue
00072 static const int     nilQ = 4;  // Empty    queue
00073 static const int     numQ = 5;
00074 static const int     outQ = 1;  // Used as a mask only
00075 };
00076 #endif

Generated on Tue Jul 5 14:46:36 2011 for ROOT_528-00b_version by  doxygen 1.5.1