This commit is contained in:
azw 2024-05-12 18:20:12 +08:00
parent 8668cf7686
commit 73618b38d8

View File

@ -34,7 +34,7 @@ pub struct WsListener {
work_thread: Option<JoinHandle<()>>, work_thread: Option<JoinHandle<()>>,
socket_hash: std::sync::Mutex<HashMap<u16, Recipient<DownStreamMessage>>>, socket_hash: std::sync::Mutex<HashMap<u16, Recipient<DownStreamMessage>>>,
cur_socket_handle: AtomicU16, cur_socket_handle: AtomicU16,
pub upstream: std::sync::Weak<Mutex<TcpStream>>, pub upstream: std::sync::Mutex<Option<std::sync::Arc<Mutex<TcpStream>>>>,
tokio_rt: Runtime, tokio_rt: Runtime,
down_pack_queue: Arc<std::sync::Mutex<r9::QueueLock<DownStreamPack>>>, down_pack_queue: Arc<std::sync::Mutex<r9::QueueLock<DownStreamPack>>>,
up_pack_queue: Arc<std::sync::Mutex<r9::QueueLock<DownStreamPack>>>, up_pack_queue: Arc<std::sync::Mutex<r9::QueueLock<DownStreamPack>>>,
@ -339,7 +339,6 @@ impl WsListener {
}); });
})); }));
{ {
let upstream = self.upstream.clone();
let down_pack_queue = self.down_pack_queue.clone(); let down_pack_queue = self.down_pack_queue.clone();
let up_pack_queue = self.up_pack_queue.clone(); let up_pack_queue = self.up_pack_queue.clone();
self.tokio_rt.spawn(async move { self.tokio_rt.spawn(async move {
@ -347,7 +346,7 @@ impl WsListener {
match result { match result {
Ok(v) => { Ok(v) => {
let a = Arc::new(Mutex::new(v)); let a = Arc::new(Mutex::new(v));
//WsListener::instance().upstream = Arc::downgrade(&a); WsListener::instance().upstream.lock().unwrap().replace(a.clone());
println!("connect ok"); println!("connect ok");
upstream_enter(a, down_pack_queue, up_pack_queue).await; upstream_enter(a, down_pack_queue, up_pack_queue).await;
}, },