mirror of https://github.com/facebook/rocksdb.git
75 lines
1.4 KiB
C
75 lines
1.4 KiB
C
|
#ifndef LEVELDB_UTIL_LDB_CMD_EXECUTE_RESULT_H_
|
||
|
#define LEVELDB_UTIL_LDB_CMD_EXECUTE_RESULT_H_
|
||
|
|
||
|
namespace leveldb {
|
||
|
|
||
|
class LDBCommandExecuteResult {
|
||
|
public:
|
||
|
enum State {
|
||
|
EXEC_NOT_STARTED = 0, EXEC_SUCCEED = 1, EXEC_FAILED = 2,
|
||
|
};
|
||
|
|
||
|
LDBCommandExecuteResult() {
|
||
|
state_ = EXEC_NOT_STARTED;
|
||
|
message_ = "";
|
||
|
}
|
||
|
|
||
|
LDBCommandExecuteResult(State state, std::string& msg) {
|
||
|
state_ = state;
|
||
|
message_ = msg;
|
||
|
}
|
||
|
|
||
|
std::string ToString() {
|
||
|
std::string ret;
|
||
|
switch (state_) {
|
||
|
case EXEC_SUCCEED:
|
||
|
break;
|
||
|
case EXEC_FAILED:
|
||
|
ret.append("Failed: ");
|
||
|
break;
|
||
|
case EXEC_NOT_STARTED:
|
||
|
ret.append("Not started: ");
|
||
|
}
|
||
|
if (!message_.empty()) {
|
||
|
ret.append(message_);
|
||
|
}
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
void Reset() {
|
||
|
state_ = EXEC_NOT_STARTED;
|
||
|
message_ = "";
|
||
|
}
|
||
|
|
||
|
bool IsSucceed() {
|
||
|
return state_ == EXEC_SUCCEED;
|
||
|
}
|
||
|
|
||
|
bool IsNotStarted() {
|
||
|
return state_ == EXEC_NOT_STARTED;
|
||
|
}
|
||
|
|
||
|
bool IsFailed() {
|
||
|
return state_ == EXEC_FAILED;
|
||
|
}
|
||
|
|
||
|
static LDBCommandExecuteResult SUCCEED(std::string msg) {
|
||
|
return LDBCommandExecuteResult(EXEC_SUCCEED, msg);
|
||
|
}
|
||
|
|
||
|
static LDBCommandExecuteResult FAILED(std::string msg) {
|
||
|
return LDBCommandExecuteResult(EXEC_FAILED, msg);
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
State state_;
|
||
|
std::string message_;
|
||
|
|
||
|
bool operator==(const LDBCommandExecuteResult&);
|
||
|
bool operator!=(const LDBCommandExecuteResult&);
|
||
|
};
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|