diff --git a/src/facade/reply_builder.cc b/src/facade/reply_builder.cc index ebf8c37c71ec..5c805acde0d4 100644 --- a/src/facade/reply_builder.cc +++ b/src/facade/reply_builder.cc @@ -847,13 +847,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); resp3_ ? WritePieces(kNullStringR3) : WritePieces(kNullStringR2); @@ -955,6 +948,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 39c1c9e72728..6428d81811ca 100644 --- a/src/facade/reply_builder.h +++ b/src/facade/reply_builder.h @@ -415,9 +415,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_; } @@ -489,24 +491,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 f465d107b467..9569efe35832 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::View(formatted_command)); + if (!ec) TouchIoTime(); - } return ec; } diff --git a/src/server/protocol_client.h b/src/server/protocol_client.h index 95162fc0ffde..c5a46dffaaa6 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 3ac45b0c3d32..3dbcd8d2ff8f 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;