This commit is contained in:
azw 2023-11-23 00:42:01 +00:00
parent 452ea11bfe
commit bbf368bcc7
4 changed files with 13 additions and 2 deletions

View File

@ -7,6 +7,7 @@ use f9::app::App;
use f9::app::HttpContext; use f9::app::HttpContext;
use crate::listener::WsListener; use crate::listener::WsListener;
use crate::upstream::UpStreamMgr; use crate::upstream::UpStreamMgr;
//use crate::ss;
#[derive(SharedFromSelf)] #[derive(SharedFromSelf)]
#[derive(Singleton)] #[derive(Singleton)]

View File

@ -4,6 +4,7 @@ mod app;
mod listener; mod listener;
mod upstream; mod upstream;
mod downstream; mod downstream;
mod ss;
use crate::app::UserApp; use crate::app::UserApp;
fn main() { fn main() {

5
server/stat/src/ss.rs Normal file
View File

@ -0,0 +1,5 @@
pub mod ss_proto;
pub mod ss_msgid;
pub use ss_proto::*;
pub use ss_msgid::*;

View File

@ -12,13 +12,14 @@ use r9_macro::SharedFromSelf;
use r9_macro_derive::SharedFromSelf; use r9_macro_derive::SharedFromSelf;
use r9_macro_derive::Singleton; use r9_macro_derive::Singleton;
#[derive(SharedFromSelf)] #[derive(SharedFromSelf)]
#[derive(Singleton)] #[derive(Singleton)]
pub struct UpStreamMgr { pub struct UpStreamMgr {
_self_wp: Weak::<RefCell::<Self>>, _self_wp: Weak::<RefCell::<Self>>,
} }
async fn run_app() -> Result<(), Box<dyn Error>> { async fn run_app(send_queue: Arc::<Vec<Arc::<dyn ::protobuf::Message>>>) -> Result<(), Box<dyn Error>> {
let mut stream = TcpStream::connect("192.168.100.39:7617").await?; let mut stream = TcpStream::connect("192.168.100.39:7617").await?;
loop { loop {
@ -72,6 +73,9 @@ impl UpStreamMgr {
} }
pub fn init(&mut self) { pub fn init(&mut self) {
let send_queue: Arc::<Vec<Arc::<dyn ::protobuf::Message>>> =
Default::default();
//let msg : Arc::<dyn ::protobuf::Message>>> = Arc::new();
std::thread::spawn(move || { std::thread::spawn(move || {
let rt = tokio::runtime::Builder::new_multi_thread() let rt = tokio::runtime::Builder::new_multi_thread()
.worker_threads(4) .worker_threads(4)
@ -81,7 +85,7 @@ impl UpStreamMgr {
.build() .build()
.unwrap(); .unwrap();
rt.block_on(async { rt.block_on(async {
run_app().await; run_app(send_queue.clone()).await;
}); });
}); });