From 0ddb1e12ef10e90080bee8efcf5160a45fc9ff4c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 24 Apr 2023 11:19:49 +0800 Subject: [PATCH] 1 --- server/wsproxy/downstream.cc | 11 +++++++++++ server/wsproxy/downstream.h | 9 +++++---- server/wsproxy/downstreammgr.cc | 5 ++--- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/server/wsproxy/downstream.cc b/server/wsproxy/downstream.cc index 3677608..adda93e 100644 --- a/server/wsproxy/downstream.cc +++ b/server/wsproxy/downstream.cc @@ -5,6 +5,17 @@ #include "ss_proto.pb.h" +void DownStream::Init(int socket_handle, std::weak_ptr up) +{ + socket_handle_ = socket_handle; + up_ = up; +} + +void DownStream::ReBindUpStream(std::weak_ptr up) +{ + up_ = up; +} + void DownStream::ForwardUpStreamMsg(f8::MsgHdr& hdr) { diff --git a/server/wsproxy/downstream.h b/server/wsproxy/downstream.h index c25697b..cba41cf 100644 --- a/server/wsproxy/downstream.h +++ b/server/wsproxy/downstream.h @@ -5,10 +5,11 @@ class DownStream { public: - int GetSocketHandle() { return socket_handle_; } - void SetSocketHandle(int socket_handle) { socket_handle_ = socket_handle; } - std::weak_ptr GetUpStream() { return up_; } - void SetUpStream(std::weak_ptr up) { up_ = up; } + void Init(int socket_handle, std::weak_ptr up); + + int GetSocketHandle() const { return socket_handle_; } + std::weak_ptr GetUpStream() const { return up_; } + void ReBindUpStream(std::weak_ptr up); void ForwardUpStreamMsg(f8::MsgHdr& hdr); void OnClose(); diff --git a/server/wsproxy/downstreammgr.cc b/server/wsproxy/downstreammgr.cc index 35f0942..1818e52 100644 --- a/server/wsproxy/downstreammgr.cc +++ b/server/wsproxy/downstreammgr.cc @@ -83,11 +83,10 @@ void DownStreamMgr::BindUpStream(int socket_handle, int conn_instance_id) if (!up_wp.expired()) { auto down_wp = GetDownStream(socket_handle); if (auto down = down_wp.lock(); !down_wp.expired()) { - down->SetUpStream(up_wp); + down->ReBindUpStream(up_wp); } else { down = std::make_shared(); - down->SetSocketHandle(socket_handle); - down->SetUpStream(up_wp); + down->Init(socket_handle, up_wp); socket_hash_[down->GetSocketHandle()] = down; f8::UdpLog::Instance()->Info("BindUpStream socket_handle:%d", {