22#include <fmt/format.h>
24#include <vrs/os/Platform.h>
30#if IS_APPLE_PLATFORM()
33const int kPlatformUserErrorsStart = 200000;
34#elif IS_WINDOWS_PLATFORM()
35const int kPlatformUserErrorsStart = 1 << 29;
36#elif IS_LINUX_PLATFORM() || IS_ANDROID_PLATFORM()
37const int kPlatformUserErrorsStart = 1000;
39#error "unknown platform"
42const int kSimpleVRSErrorsSize = 1000;
43const int kVRSErrorsDomainSize = 100;
44const int kDomainErrorsStart = kPlatformUserErrorsStart + kSimpleVRSErrorsSize;
50 FAILURE = kPlatformUserErrorsStart,
53 VRSERROR_INTERNAL_ERROR,
70 UNSUPPORTED_DESCRIPTION_FORMAT_VERSION,
71 UNSUPPORTED_INDEX_FORMAT_VERSION,
75 REQUESTED_FILE_HANDLER_UNAVAILABLE,
76 REQUESTED_DELEGATOR_UNAVAILABLE,
77 FILE_HANDLER_MISMATCH,
79 MULTICHUNKS_NOT_SUPPORTED,
82 DISKFILE_FILE_NOT_FOUND,
83 DISKFILE_INVALID_OFFSET,
84 DISKFILE_NOT_ENOUGH_DATA,
86 DISKFILE_INVALID_STATE,
87 DISKFILE_PARTIAL_WRITE_ERROR,
102 Lz4DecompressionErrorDomain,
103 ZstdCompressionErrorDomain,
104 ZstdDecompressionErrorDomain,
113 return kDomainErrorsStart +
static_cast<int>(errorDomain) * kVRSErrorsDomainSize;
147 return domainErrorCode(errorDomain,
static_cast<int64_t
>(errorCode), errorMessage);
162int domainError(EC errorCode) {
163 const std::map<EC, const char*>& registry = getErrorCodeRegistry<EC>();
164 auto iter = registry.find(errorCode);
165 if (iter != registry.end()) {
168 string msg = fmt::format(
"<Unknown error code '{}'>",
static_cast<int>(errorCode));
Definition Compressor.cpp:112
constexpr int errorDomainToErrorCodeStart(ErrorDomain errorDomain)
Conversion of a error domain to an int. For internal & test purposes only.
Definition ErrorCode.h:112
ErrorDomain
Core VRS error domains.
Definition ErrorCode.h:101
ErrorDomain newErrorDomain(const string &domainName)
Definition ErrorCode.cpp:125
ErrorCode
Enum for regular VRS errors.
Definition ErrorCode.h:47
const std::map< EC, const char * > & getErrorCodeRegistry()
string errorCodeToMessage(int errorCode)
Definition ErrorCode.cpp:103
string errorCodeToMessageWithCode(int errorCode)
Definition ErrorCode.cpp:121
int domainErrorCode(ErrorDomain errorDomain, int64_t errorCode, const char *errorMessage)
Definition ErrorCode.cpp:140