3 #ifndef __ARC_DATASTATUS_H__ 4 #define __ARC_DATASTATUS_H__ 10 #include <arc/StringConv.h> 11 #include <arc/Utils.h> 15 #define DataStatusRetryableBase (100) 17 #define DataStatusErrnoBase 1000 18 #define EARCTRANSFERTIMEOUT (DataStatusErrnoBase + 1) // Transfer timed out 19 #define EARCCHECKSUM (DataStatusErrnoBase + 2) // Checksum mismatch 20 #define EARCLOGIC (DataStatusErrnoBase + 3) // Bad logic, eg calling StartWriting on a 22 #define EARCRESINVAL (DataStatusErrnoBase + 4) // All results obtained from a service are invalid 23 #define EARCSVCTMP (DataStatusErrnoBase + 5) // Temporary service error 24 #define EARCSVCPERM (DataStatusErrnoBase + 6) // Permanent service error 25 #define EARCUIDSWITCH (DataStatusErrnoBase + 7) // Error switching uid 26 #define EARCREQUESTTIMEOUT (DataStatusErrnoBase + 8) // Request made to remote service timed out 27 #define EARCOTHER (DataStatusErrnoBase + 9) // Other / unknown error 29 #define DataStatusErrnoMax EARCOTHER 240 : status(status), Errno(0), desc(desc) {
241 if (!
Passed()) Errno = EARCOTHER;
253 : status(status), Errno(error_no), desc(desc) {}
257 : status(
Success), Errno(0), desc(
"") {}
265 return status == s.status;
274 return status != s.status;
284 if (!
Passed()) Errno = EARCOTHER;
301 operator bool()
const {
348 operator std::string(
void)
const;
364 return (o << ((std::string)d));
369 #endif // __ARC_DATASTATUS_H__ Arc namespace contains all core ARC classes.
Definition: ArcConfig.h:11
Inconsistent metadata.
Definition: DataStatus.h:162
Definition: DataStatus.h:231
Definition: DataStatus.h:207
Definition: DataStatus.h:229
Wait for destination to be prepared.
Definition: DataStatus.h:174
Definition: DataStatus.h:220
Can't write to destination.
Definition: DataStatus.h:86
Operation completed successfully.
Definition: DataStatus.h:68
Error in caching procedure.
Definition: DataStatus.h:113
DataStatusType
Status codes.
Definition: DataStatus.h:64
Error due to provided credentials are expired.
Definition: DataStatus.h:116
int GetErrno() const
Get the error number.
Definition: DataStatus.h:330
Can't rename URL.
Definition: DataStatus.h:186
bool operator==(const DataStatusType &s)
Returns true if this status type matches s.
Definition: DataStatus.h:260
Definition: DataStatus.h:227
bool operator==(const DataStatus &s)
Returns true if this status type matches the status type of s.
Definition: DataStatus.h:264
Definition: DataStatus.h:228
Definition: DataStatus.h:230
DataStatusType GetStatus() const
Get error status code.
Definition: DataStatus.h:320
Unregistration of index service URL failed.
Definition: DataStatus.h:110
bool Retryable() const
Returns true if the error was temporary and could be retried.
Definition: DataStatus.h:205
Status code returned by many DataPoint methods.
Definition: DataStatus.h:54
std::string GetDesc() const
Get a detailed description of the status.
Definition: DataStatus.h:343
Resolving of index service URL for source failed.
Definition: DataStatus.h:77
First stage of registration of index service URL failed.
Definition: DataStatus.h:104
DataStatus()
Construct a new DataStatus with fields initialised to success states.
Definition: DataStatus.h:256
Destination is bad URL or can't be used due to some reason.
Definition: DataStatus.h:74
DataStatus(const DataStatusType &status, std::string desc="")
Constructor to use when errno-like information is not available.
Definition: DataStatus.h:239
Access check failed.
Definition: DataStatus.h:140
Source is bad URL or can't be used due to some reason.
Definition: DataStatus.h:71
Last stage of registration of index service URL failed.
Definition: DataStatus.h:107
Definition: DataStatus.h:210
bool operator!() const
Returns true if status type is not a success value.
Definition: DataStatus.h:297
Can't prepare destination.
Definition: DataStatus.h:171
void SetDesc(const std::string &d)
Set a detailed description of the status, removing trailing new line if present.
Definition: DataStatus.h:338
No valid location available.
Definition: DataStatus.h:122
Error in OS.
Definition: DataStatus.h:156
bool operator!=(const DataStatusType &s)
Returns true if this status type does not match s.
Definition: DataStatus.h:269
Wait for source to be prepared.
Definition: DataStatus.h:168
Can't read from source.
Definition: DataStatus.h:83
Can't create directory.
Definition: DataStatus.h:183
Object initialization failed.
Definition: DataStatus.h:153
Can't finish source.
Definition: DataStatus.h:177
Definition: DataStatus.h:213
std::string trim(const std::string &str, const char *sep=NULL)
This method removes given separators from the beginning and the end of the string.
std::ostream & operator<<(std::ostream &, const Period &)
Prints a Period-object to the given ostream – typically cout.
Can't finish destination.
Definition: DataStatus.h:180
Definition: DataStatus.h:219
Resolving of index service URL for destination failed.
Definition: DataStatus.h:80
Definition: DataStatus.h:145
Definition: DataStatus.h:223
Definition: DataStatus.h:214
Definition: DataStatus.h:218
Definition: DataStatus.h:216
Undefined.
Definition: DataStatus.h:198
Failed while finishing writing to destination.
Definition: DataStatus.h:101
Definition: DataStatus.h:221
Error deleting location or URL.
Definition: DataStatus.h:119
DataPoint is already writing.
Definition: DataStatus.h:137
bool Passed() const
Returns true if no error occurred.
Definition: DataStatus.h:306
std::string GetStrErrno() const
Get text description of the error number.
Failed while finishing reading from source.
Definition: DataStatus.h:98
Data was already cached.
Definition: DataStatus.h:189
Definition: DataStatus.h:215
General error which doesn't fit any other error.
Definition: DataStatus.h:195
bool operator!=(const DataStatus &s)
Returns true if this status type does not match the status type of s.
Definition: DataStatus.h:273
Definition: DataStatus.h:209
Definition: DataStatus.h:208
Feature is unimplemented.
Definition: DataStatus.h:131
Failed while writing to destination.
Definition: DataStatus.h:92
Definition: DataStatus.h:224
File/dir stating failed.
Definition: DataStatus.h:148
Operation was cancelled successfully.
Definition: DataStatus.h:192
Directory listing failed.
Definition: DataStatus.h:143
Definition: DataStatus.h:206
Failed while reading from source.
Definition: DataStatus.h:89
Can't prepare source.
Definition: DataStatus.h:165
Definition: DataStatus.h:211
void SetErrno(int error_no)
Set the error number.
Definition: DataStatus.h:325
Operation has no sense for this kind of URL.
Definition: DataStatus.h:128
DataPoint is already reading.
Definition: DataStatus.h:134
Definition: DataStatus.h:225
Definition: DataStatus.h:217
Definition: DataStatus.h:226
Failed while transfering data (mostly timeout)
Definition: DataStatus.h:95
No valid location available.
Definition: DataStatus.h:125
Staging error.
Definition: DataStatus.h:159
DataStatus & operator=(const DataStatusType &s)
Assignment operator.
Definition: DataStatus.h:281
Definition: DataStatus.h:150
Definition: DataStatus.h:212
Definition: DataStatus.h:222
DataStatus(const DataStatusType &status, int error_no, const std::string &desc="")
Construct a new DataStatus with errno and optional text description.
Definition: DataStatus.h:252