diff --git a/server/stat/Cargo.toml b/server/stat/Cargo.toml index 83ee9c3..a7dc67d 100644 --- a/server/stat/Cargo.toml +++ b/server/stat/Cargo.toml @@ -11,6 +11,9 @@ serde = "*" serde_derive = "*" serde_json = "*" tokio = { version = "1", features = ["full"] } +actix = "0.13.1" +actix-web = "4" +actix-web-actors = "4.2.0" r9 = { path = "../../third_party/librust/r9" } r9_macro = { path = "../../third_party/librust/r9_macro" } diff --git a/server/stat/src/app/user_app.rs b/server/stat/src/app/user_app.rs index 5de2c80..f124bcb 100644 --- a/server/stat/src/app/user_app.rs +++ b/server/stat/src/app/user_app.rs @@ -5,6 +5,7 @@ use r9_macro_derive::SharedFromSelf; use r9_macro_derive::Singleton; use f9::app::App; use f9::app::HttpContext; +use crate::listener::WsListener; #[derive(SharedFromSelf)] #[derive(Singleton)] diff --git a/server/stat/src/listener/wslistener.rs b/server/stat/src/listener/wslistener.rs index 76670ab..6765793 100644 --- a/server/stat/src/listener/wslistener.rs +++ b/server/stat/src/listener/wslistener.rs @@ -3,8 +3,21 @@ use std::cell::RefCell; use r9_macro::SharedFromSelf; use r9_macro_derive::SharedFromSelf; use r9_macro_derive::Singleton; -use actix::StreamHandler; +use actix::{Actor, StreamHandler}; use actix_web_actors::ws::{self, Message}; +use actix_web::{ + dev::ServerHandle, + rt, + web, + App as WebApp, + web::Data, + web::Query, + HttpRequest, + HttpResponse, + HttpServer, + Error, + Responder}; +use std::sync::{Arc, Mutex}; #[derive(SharedFromSelf)] #[derive(Singleton)] @@ -37,7 +50,7 @@ async fn index(req: HttpRequest, stream: web::Payload) -> Result, +async fn run_app(port: u16, tx: std::sync::mpsc::Sender) -> std::io::Result<()> { let server = HttpServer::new(move || { WebApp::new() @@ -61,4 +74,12 @@ impl WsListener { return p; } + pub fn init(&mut self) { + + } + + pub fn uninit(&mut self) { + + } + } diff --git a/server/stat/src/main.rs b/server/stat/src/main.rs index 8438562..5651a96 100755 --- a/server/stat/src/main.rs +++ b/server/stat/src/main.rs @@ -1,6 +1,7 @@ use f9::app::App; mod app; +mod listener; use crate::app::UserApp; fn main() {