22#include <fmt/format.h>
24#include <vrs/VrsExport.h>
25#include <vrs/os/Platform.h>
31#if IS_APPLE_PLATFORM()
34const int kPlatformUserErrorsStart = 200000;
35#elif IS_WINDOWS_PLATFORM()
36const int kPlatformUserErrorsStart = 1 << 29;
37#elif IS_LINUX_PLATFORM() || IS_ANDROID_PLATFORM()
38const int kPlatformUserErrorsStart = 1000;
40#error "unknown platform"
43const int kSimpleVRSErrorsSize = 1000;
44const int kVRSErrorsDomainSize = 100;
45const int kDomainErrorsStart = kPlatformUserErrorsStart + kSimpleVRSErrorsSize;
51 FAILURE = kPlatformUserErrorsStart,
54 VRSERROR_INTERNAL_ERROR,
71 UNSUPPORTED_DESCRIPTION_FORMAT_VERSION,
72 UNSUPPORTED_INDEX_FORMAT_VERSION,
76 REQUESTED_FILE_HANDLER_UNAVAILABLE,
77 REQUESTED_DELEGATOR_UNAVAILABLE,
78 FILE_HANDLER_MISMATCH,
80 MULTICHUNKS_NOT_SUPPORTED,
83 DISKFILE_FILE_NOT_FOUND,
84 DISKFILE_INVALID_OFFSET,
85 DISKFILE_NOT_ENOUGH_DATA,
87 DISKFILE_INVALID_STATE,
88 DISKFILE_PARTIAL_WRITE_ERROR,
103 Lz4DecompressionErrorDomain,
104 ZstdCompressionErrorDomain,
105 ZstdDecompressionErrorDomain,
114 return kDomainErrorsStart +
static_cast<int>(errorDomain) * kVRSErrorsDomainSize;
148 return domainErrorCode(errorDomain,
static_cast<int64_t
>(errorCode), errorMessage);
163int domainError(EC errorCode) {
164 const std::map<EC, const char*>& registry = getErrorCodeRegistry<EC>();
165 auto iter = registry.find(errorCode);
166 if (iter != registry.end()) {
169 string msg = fmt::format(
"<Unknown error code '{}'>",
static_cast<int>(errorCode));
Definition Compressor.cpp:113
constexpr int errorDomainToErrorCodeStart(ErrorDomain errorDomain)
Conversion of a error domain to an int. For internal & test purposes only.
Definition ErrorCode.h:113
ErrorDomain
Core VRS error domains.
Definition ErrorCode.h:102
ErrorCode
Enum for regular VRS errors.
Definition ErrorCode.h:48
const std::map< EC, const char * > & getErrorCodeRegistry()
int domainErrorCode(ErrorDomain errorDomain, int64_t errorCode, const char *errorMessage)
Definition ErrorCode.cpp:140
ErrorDomain newErrorDomain(const string &domainName)
Definition ErrorCode.cpp:125
string errorCodeToMessage(int errorCode)
Definition ErrorCode.cpp:103
string errorCodeToMessageWithCode(int errorCode)
Definition ErrorCode.cpp:121