From 3533d0a768c95e34556749df33562618800d92d5 Mon Sep 17 00:00:00 2001 From: azw Date: Sun, 7 May 2023 07:45:53 +0000 Subject: [PATCH] 1 --- server/wsproxy/downstream.cc | 7 +------ server/wsproxy/downstream.h | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/server/wsproxy/downstream.cc b/server/wsproxy/downstream.cc index c00e1ff..b7db0db 100644 --- a/server/wsproxy/downstream.cc +++ b/server/wsproxy/downstream.cc @@ -25,7 +25,7 @@ void DownStream::ReBindUpStream(std::weak_ptr up) void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr) { - char* buff = (char*)malloc(sizeof(f8::PackHead) + hdr.buflen); + char* buff = forward_buff_.data(); f8::PackHead* head = (f8::PackHead*)buff; head->packlen = hdr.buflen; head->msgid = hdr.msgid; @@ -41,10 +41,6 @@ void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr) ss::SS_SMPing msg; msg.set_source(1); { - free(buff); - - buff = (char*)malloc(sizeof(f8::PackHead) + msg.ByteSize()); - f8::PackHead* head = (f8::PackHead*)buff; head->packlen = msg.ByteSize(); head->msgid = hdr.msgid; head->seqid = hdr.seqid; @@ -59,7 +55,6 @@ void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr) } else { GCListener::Instance()->SendBuf(hdr.socket_handle, buff, sizeof(f8::PackHead) + head->packlen); } - free(buff); } void DownStream::OnClose() diff --git a/server/wsproxy/downstream.h b/server/wsproxy/downstream.h index 1a017e7..136e274 100644 --- a/server/wsproxy/downstream.h +++ b/server/wsproxy/downstream.h @@ -18,6 +18,7 @@ class DownStream void OnClose(); private: + std::array forward_buff_; int socket_handle_ = a8::INVALID_SOCKET_HANDLE; std::weak_ptr up_; bool is_long_session_ = false;