1
0
mirror of https://github.com/actix/examples synced 2025-06-26 17:17:42 +02:00
This commit is contained in:
Rob Ede
2022-02-18 02:44:02 +00:00
parent aca1dab890
commit fbd3b228e9
48 changed files with 103 additions and 261 deletions

View File

@ -1,7 +1,5 @@
use actix_files::{Files, NamedFile};
use actix_web::{
middleware::Logger, web, App, Error, HttpRequest, HttpServer, Responder,
};
use actix_web::{middleware::Logger, web, App, Error, HttpRequest, HttpServer, Responder};
use actix_web_actors::ws;
mod message;
@ -14,10 +12,7 @@ async fn index() -> impl Responder {
NamedFile::open_async("./static/index.html").await.unwrap()
}
async fn chat_ws(
req: HttpRequest,
stream: web::Payload,
) -> Result<impl Responder, Error> {
async fn chat_ws(req: HttpRequest, stream: web::Payload) -> Result<impl Responder, Error> {
ws::start(WsChatSession::default(), &req, stream)
}

View File

@ -20,12 +20,7 @@ impl WsChatServer {
Some(room)
}
fn add_client_to_room(
&mut self,
room_name: &str,
id: Option<usize>,
client: Client,
) -> usize {
fn add_client_to_room(&mut self, room_name: &str, id: Option<usize>, client: Client) -> usize {
let mut id = id.unwrap_or_else(rand::random::<usize>);
if let Some(room) = self.rooms.get_mut(room_name) {
@ -50,12 +45,7 @@ impl WsChatServer {
id
}
fn send_chat_message(
&mut self,
room_name: &str,
msg: &str,
_src: usize,
) -> Option<()> {
fn send_chat_message(&mut self, room_name: &str, msg: &str, _src: usize) -> Option<()> {
let mut room = self.take_room(room_name)?;
for (id, client) in room.drain() {

View File

@ -101,11 +101,7 @@ impl Handler<ChatMessage> for WsChatSession {
}
impl StreamHandler<Result<ws::Message, ws::ProtocolError>> for WsChatSession {
fn handle(
&mut self,
msg: Result<ws::Message, ws::ProtocolError>,
ctx: &mut Self::Context,
) {
fn handle(&mut self, msg: Result<ws::Message, ws::ProtocolError>, ctx: &mut Self::Context) {
let msg = match msg {
Err(_) => {
ctx.stop();