mirror of
https://gitee.com/acl-dev/acl.git
synced 2024-12-14 17:00:52 +08:00
Merge branch 'gitee-master' into gitlab-upstream
This commit is contained in:
commit
fe9a975f29
@ -27,7 +27,7 @@ bool redis_handler::handle() {
|
||||
|
||||
#if 0
|
||||
{
|
||||
acl::string tmp;
|
||||
std::string tmp;
|
||||
for (size_t i = 0; i < objs.size(); i++) {
|
||||
tmp += "+OK\r\n";
|
||||
}
|
||||
@ -43,7 +43,7 @@ bool redis_handler::handle() {
|
||||
}
|
||||
}
|
||||
|
||||
acl::string buf;
|
||||
std::string buf;
|
||||
if (!builder_.to_string(buf)) {
|
||||
builder_.clear();
|
||||
return false;
|
||||
@ -54,7 +54,7 @@ bool redis_handler::handle() {
|
||||
//if (objs.size() >= 20) { printf("reply len=%zd\r\n", buf.size()); }
|
||||
|
||||
//printf(">>>buf=[%s]\r\n", buf.c_str());
|
||||
return conn_.write(buf) != -1;
|
||||
return conn_.write(buf.c_str(), buf.size()) != -1;
|
||||
}
|
||||
|
||||
bool redis_handler::handle_one(const redis_object &obj) {
|
||||
@ -89,8 +89,8 @@ bool redis_handler::handle_one(const redis_object &obj) {
|
||||
return hgetall(obj);
|
||||
}
|
||||
|
||||
acl::string err;
|
||||
err.format("%s not support yet", cmd);
|
||||
std::string err;
|
||||
err.append(cmd).append("not support yet");
|
||||
logger_error("cmd=%s not support!", cmd);
|
||||
builder_.create_object().set_error(err);
|
||||
return true;
|
||||
@ -115,8 +115,8 @@ bool redis_handler::set(const redis_object &obj) {
|
||||
return false;
|
||||
}
|
||||
|
||||
#if 1
|
||||
acl::string buff;
|
||||
#if 0
|
||||
std::string buff;
|
||||
coder_.create_object().set_string(value);
|
||||
coder_.to_string(buff);
|
||||
coder_.clear();
|
||||
@ -238,7 +238,7 @@ bool redis_handler::hset(const redis_object &obj) {
|
||||
.create_child().set_string(name, true)
|
||||
.create_child().set_string(value, true);
|
||||
|
||||
acl::string buff;
|
||||
std::string buff;
|
||||
if (!builder.to_string(buff)) {
|
||||
logger_error("build data error");
|
||||
return false;
|
||||
|
@ -71,7 +71,7 @@ redis_object& redis_coder::create_object() {
|
||||
return *obj;
|
||||
}
|
||||
|
||||
bool redis_coder::to_string(acl::string& out) const {
|
||||
bool redis_coder::to_string(std::string& out) const {
|
||||
for (const auto& obj : objs_) {
|
||||
if (!obj->to_string(out)) {
|
||||
return false;
|
||||
@ -118,14 +118,14 @@ bool test_redis_parse_once(const char* filepath) {
|
||||
|
||||
printf(">>>%s: parse success<<<\r\n", __func__);
|
||||
|
||||
acl::string out;
|
||||
std::string out;
|
||||
|
||||
if (!parser.to_string(out)) {
|
||||
printf(">>>%s: build failed<<<\r\n", __func__);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (out != buf) {
|
||||
if (out != std::string(buf.c_str())) {
|
||||
printf(">>>%s: build failed<<<\r\n", __func__);
|
||||
printf("output:\r\n|%s|\r\n", out.c_str());
|
||||
printf("input:\r\n|%s|\r\n", buf.c_str());
|
||||
@ -134,7 +134,7 @@ bool test_redis_parse_once(const char* filepath) {
|
||||
filetmp += ".tmp";
|
||||
acl::ofstream fp;
|
||||
if (fp.open_trunc(filetmp)) {
|
||||
fp.write(out);
|
||||
fp.write(out.c_str(), out.size());
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -168,14 +168,14 @@ bool test_redis_parse_stream(const char* filepath) {
|
||||
}
|
||||
printf(">>%s(%d): parse successfully<<<\r\n", __func__, __LINE__);
|
||||
|
||||
acl::string out;
|
||||
std::string out;
|
||||
|
||||
if (!parser.to_string(out)) {
|
||||
printf(">>%s(%d): build failed<<\r\n", __func__, __LINE__);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (out != buf) {
|
||||
if (out != std::string(buf.c_str())) {
|
||||
printf("%s\r\n", out.c_str());
|
||||
printf(">>%s(%d): build failed<<\r\n", __func__, __LINE__);
|
||||
return false;
|
||||
@ -215,7 +215,7 @@ bool test_redis_build() {
|
||||
.create_child().set_string("value3", true);
|
||||
#endif
|
||||
|
||||
acl::string buf;
|
||||
std::string buf;
|
||||
if (builder.to_string(buf)) {
|
||||
const char* cmd = obj.get_cmd();
|
||||
printf("%s(%d): build redis successfully, cmd=%s\r\n",
|
||||
|
@ -29,7 +29,7 @@ public:
|
||||
public:
|
||||
[[nodiscard]] redis_object& create_object();
|
||||
|
||||
bool to_string(acl::string& out) const;
|
||||
bool to_string(std::string& out) const;
|
||||
|
||||
private:
|
||||
std::vector<redis_object*> objs_;
|
||||
|
@ -377,7 +377,7 @@ const char* redis_object::get_line(const char* data, size_t& len,
|
||||
return data;
|
||||
}
|
||||
|
||||
bool redis_object::to_string(acl::string& out) const {
|
||||
bool redis_object::to_string(std::string& out) const {
|
||||
#define USE_UNIX_CRLF
|
||||
#ifdef USE_UNIX_CRLF
|
||||
#define CRLF "\n"
|
||||
@ -386,7 +386,7 @@ bool redis_object::to_string(acl::string& out) const {
|
||||
#endif
|
||||
|
||||
if (!objs_.empty()) {
|
||||
out.format_append("*%zd%s", objs_.size(), CRLF);
|
||||
out.append("*").append(std::to_string(objs_.size())).append(CRLF);
|
||||
|
||||
for (const auto& obj : objs_) {
|
||||
if (!obj->to_string(out)) {
|
||||
@ -399,16 +399,17 @@ bool redis_object::to_string(acl::string& out) const {
|
||||
|
||||
switch (type_) {
|
||||
case REDIS_OBJ_STATUS:
|
||||
out.format_append("+%s%s", buf_.c_str(), CRLF);
|
||||
out.append("+").append(buf_.c_str(), buf_.size()).append(CRLF);
|
||||
break;
|
||||
case REDIS_OBJ_ERROR:
|
||||
out.format_append("-%s%s", buf_.c_str(), CRLF);
|
||||
out.append("-").append(buf_.c_str(), buf_.size()).append(CRLF);
|
||||
break;
|
||||
case REDIS_OBJ_INTEGER:
|
||||
out.format_append(":%s%s", buf_.c_str(), CRLF);
|
||||
out.append(":").append(buf_.c_str(), buf_.size()).append(CRLF);
|
||||
break;
|
||||
case REDIS_OBJ_STRING:
|
||||
out.format_append("$%zd%s%s%s", buf_.size(), CRLF, buf_.c_str(), CRLF);
|
||||
out.append("$").append(std::to_string(buf_.size())).append(CRLF)
|
||||
.append(buf_.c_str(), buf_.size()).append(CRLF);
|
||||
break;
|
||||
//case acl::REDIS_RESULT_ARRAY:
|
||||
// break;
|
||||
@ -435,9 +436,7 @@ redis_object& redis_object::set_error(const std::string& data,
|
||||
|
||||
redis_object& redis_object::set_number(int n, bool return_parent) {
|
||||
type_ = REDIS_OBJ_INTEGER;
|
||||
|
||||
std::string buf = std::to_string(n);
|
||||
buf_ = buf;
|
||||
buf_ = std::to_string(n);
|
||||
return return_parent ? *parent_ : *this;
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ public:
|
||||
redis_object& set_string(const std::string& data, bool return_parent = false);
|
||||
redis_object& create_child();
|
||||
|
||||
bool to_string(acl::string& out) const;
|
||||
bool to_string(std::string& out) const;
|
||||
|
||||
private:
|
||||
int status_ = redis_s_begin;
|
||||
|
Loading…
Reference in New Issue
Block a user