This commit is contained in:
azw 2023-05-07 07:45:53 +00:00
parent d8dcc89244
commit 3533d0a768
2 changed files with 2 additions and 6 deletions

View File

@ -25,7 +25,7 @@ void DownStream::ReBindUpStream(std::weak_ptr<UpStream> up)
void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr) 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; f8::PackHead* head = (f8::PackHead*)buff;
head->packlen = hdr.buflen; head->packlen = hdr.buflen;
head->msgid = hdr.msgid; head->msgid = hdr.msgid;
@ -41,10 +41,6 @@ void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr)
ss::SS_SMPing msg; ss::SS_SMPing msg;
msg.set_source(1); 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->packlen = msg.ByteSize();
head->msgid = hdr.msgid; head->msgid = hdr.msgid;
head->seqid = hdr.seqid; head->seqid = hdr.seqid;
@ -59,7 +55,6 @@ void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr)
} else { } else {
GCListener::Instance()->SendBuf(hdr.socket_handle, buff, sizeof(f8::PackHead) + head->packlen); GCListener::Instance()->SendBuf(hdr.socket_handle, buff, sizeof(f8::PackHead) + head->packlen);
} }
free(buff);
} }
void DownStream::OnClose() void DownStream::OnClose()

View File

@ -18,6 +18,7 @@ class DownStream
void OnClose(); void OnClose();
private: private:
std::array<char, PACK_MAX> forward_buff_;
int socket_handle_ = a8::INVALID_SOCKET_HANDLE; int socket_handle_ = a8::INVALID_SOCKET_HANDLE;
std::weak_ptr<UpStream> up_; std::weak_ptr<UpStream> up_;
bool is_long_session_ = false; bool is_long_session_ = false;