This commit is contained in:
azw 2024-05-12 19:02:24 +08:00
parent e8f05c5424
commit b0ee7e7f58
3 changed files with 35 additions and 3 deletions

View File

@ -1,4 +1,5 @@
pub mod master;
pub mod mastermgr; pub mod mastermgr;
pub use master::*;
pub use mastermgr::*; pub use mastermgr::*;

View File

@ -0,0 +1,7 @@
pub struct Master {
instance_id: i32,
remote_ip: String,
remote_port: i32,
last_pong_tick: i64
}

View File

@ -1,9 +1,16 @@
use std::collections::HashMap; use std::collections::HashMap;
use std::sync::Arc;
use tokio::net::TcpStream;
use crate::app::UserApp; use crate::app::UserApp;
use crate::master::Master;
use tokio::runtime::Runtime;
use tokio::sync::Mutex;
use crate::listener::WsListener;
pub struct MasterMgr { pub struct MasterMgr {
curr_context_id: i64, curr_context_id: i64,
mastersvr_hash: HashMap<i32, i32>, mastersvr_hash: HashMap<i32, Master>,
tokio_rt: Runtime,
} }
@ -18,12 +25,29 @@ impl MasterMgr {
let p = Self{ let p = Self{
curr_context_id: 0, curr_context_id: 0,
mastersvr_hash: Default::default(), mastersvr_hash: Default::default(),
tokio_rt: tokio::runtime::Builder::new_multi_thread()
.enable_all()
.build()
.unwrap(),
}; };
return p; return p;
} }
pub fn init(&self) { pub fn init(&self) {
self.tokio_rt.spawn(async move {
let mut result = TcpStream::connect("192.168.100.39:7616").await;
match result {
Ok(v) => {
let a = Arc::new(Mutex::new(v));
//WsListener::instance().upstream.lock().unwrap().replace(a.clone());
println!("connect ok");
//crate::listener::wslistener::upstream_enter(a, down_pack_queue, up_pack_queue).await;
},
Err(e) => {
println!("connect err")
}
}
});
} }
pub fn uninit(&self) { pub fn uninit(&self) {