From 41ba8649248e05da07c3e61c897cbc788a5ab568 Mon Sep 17 00:00:00 2001 From: Vladislav Date: Wed, 18 Sep 2024 14:31:47 +0300 Subject: [PATCH] chore: Remove ReqSerializer (#3721) Signed-off-by: Vladislav --- src/facade/reply_builder.cc | 11 ++++------- src/facade/reply_builder.h | 22 +++------------------- src/server/protocol_client.cc | 8 +++----- src/server/protocol_client.h | 5 ----- src/server/replica.h | 4 ---- 5 files changed, 10 insertions(+), 40 deletions(-) diff --git a/src/facade/reply_builder.cc b/src/facade/reply_builder.cc index 0a2b54454..44b0fe29f 100644 --- a/src/facade/reply_builder.cc +++ b/src/facade/reply_builder.cc @@ -846,13 +846,6 @@ void RedisReplyBuilder::SendStringArrInternal( Send(vec.data(), vec_indx + 1); } -void ReqSerializer::SendCommand(std::string_view str) { - VLOG(2) << "SendCommand: " << str; - - iovec v[] = {IoVec(str), IoVec(kCRLF)}; - ec_ = sink_->Write(v, ABSL_ARRAYSIZE(v)); -} - void RedisReplyBuilder2Base::SendNull() { ReplyScope scope(this); has_replied_ = true; @@ -964,6 +957,10 @@ void RedisReplyBuilder2Base::SendVerbatimString(std::string_view str, VerbatimFo WritePieces(kCRLF); } +std::string RedisReplyBuilder2Base::SerializeCommand(std::string_view command) { + return string{command} + kCRLF; +} + void RedisReplyBuilder2::SendSimpleStrArr2(const facade::ArgRange& strs) { ReplyScope scope(this); StartArray(strs.Size()); diff --git a/src/facade/reply_builder.h b/src/facade/reply_builder.h index 4eac448e3..534ac2f03 100644 --- a/src/facade/reply_builder.h +++ b/src/facade/reply_builder.h @@ -422,9 +422,11 @@ class RedisReplyBuilder2Base : public SinkReplyBuilder2, public RedisReplyBuilde void SendError(std::string_view str, std::string_view type = {}) override; void SendProtocolError(std::string_view str) override; - static char* FormatDouble(double d, char* dest, unsigned len); virtual void SendVerbatimString(std::string_view str, VerbatimFormat format = TXT) override; + static char* FormatDouble(double d, char* dest, unsigned len); + static std::string SerializeCommand(std::string_view command); + bool IsResp3() const override { return resp3_; } @@ -496,24 +498,6 @@ class RedisReplyBuilder2 : public RedisReplyBuilder2Base { // TODO: Remove void SendMGetResponse(SinkReplyBuilder::MGetResponse resp) override; - - static std::string SerializeCommmand(std::string_view cmd); -}; - -class ReqSerializer { - public: - explicit ReqSerializer(::io::Sink* stream) : sink_(stream) { - } - - void SendCommand(std::string_view str); - - std::error_code ec() const { - return ec_; - } - - private: - ::io::Sink* sink_; - std::error_code ec_; }; } // namespace facade diff --git a/src/server/protocol_client.cc b/src/server/protocol_client.cc index f465d107b..969f97950 100644 --- a/src/server/protocol_client.cc +++ b/src/server/protocol_client.cc @@ -209,7 +209,6 @@ error_code ProtocolClient::ConnectAndAuth(std::chrono::milliseconds connect_time } else { sock_.reset(mythread->CreateSocket()); } - serializer_ = std::make_unique(sock_.get()); } else { return cntx->GetError(); } @@ -385,11 +384,10 @@ bool ProtocolClient::CheckRespFirstTypes(initializer_list types) } error_code ProtocolClient::SendCommand(string_view command) { - serializer_->SendCommand(command); - error_code ec = serializer_->ec(); - if (!ec) { + string formatted_command = RedisReplyBuilder2Base::SerializeCommand(command); + auto ec = sock_->Write(io::Buffer(formatted_command)); + if (!ec) TouchIoTime(); - } return ec; } diff --git a/src/server/protocol_client.h b/src/server/protocol_client.h index 95162fc0f..c5a46dffa 100644 --- a/src/server/protocol_client.h +++ b/src/server/protocol_client.h @@ -20,10 +20,6 @@ #include #endif -namespace facade { -class ReqSerializer; -}; // namespace facade - namespace dfly { class Service; @@ -117,7 +113,6 @@ class ProtocolClient { private: ServerContext server_context_; - std::unique_ptr serializer_; std::unique_ptr parser_; facade::RespVec resp_args_; base::IoBuf resp_buf_; diff --git a/src/server/replica.h b/src/server/replica.h index 3ac45b0c3..3dbcd8d2f 100644 --- a/src/server/replica.h +++ b/src/server/replica.h @@ -20,10 +20,6 @@ #include "server/version.h" #include "util/fiber_socket_base.h" -namespace facade { -class ReqSerializer; -}; // namespace facade - namespace dfly { class Service;