mirror of
https://github.com/actix/examples
synced 2024-11-23 14:31:07 +01:00
refactor: replace raw types with aliases from main
This commit is contained in:
parent
f52f7785fe
commit
65acc77431
@ -87,7 +87,7 @@ impl ChatServer {
|
||||
/// Send message to users in a room.
|
||||
///
|
||||
/// `skip` is used to prevent messages triggered by a connection also being received by it.
|
||||
async fn send_system_message(&self, room: &str, skip: ConnId, msg: impl Into<String>) {
|
||||
async fn send_system_message(&self, room: &str, skip: ConnId, msg: impl Into<Msg>) {
|
||||
if let Some(sessions) = self.rooms.get(room) {
|
||||
let msg = msg.into();
|
||||
|
||||
@ -106,7 +106,7 @@ impl ChatServer {
|
||||
///
|
||||
/// `conn` is used to find current room and prevent messages sent by a connection also being
|
||||
/// received by it.
|
||||
async fn send_message(&self, conn: ConnId, msg: impl Into<String>) {
|
||||
async fn send_message(&self, conn: ConnId, msg: impl Into<Msg>) {
|
||||
if let Some(room) = self
|
||||
.rooms
|
||||
.iter()
|
||||
@ -124,7 +124,7 @@ impl ChatServer {
|
||||
self.send_system_message("main", 0, "Someone joined").await;
|
||||
|
||||
// register session with random connection ID
|
||||
let id = thread_rng().gen::<usize>();
|
||||
let id = thread_rng().gen::<ConnId>();
|
||||
self.sessions.insert(id, tx);
|
||||
|
||||
// auto join session to main room
|
||||
@ -142,7 +142,7 @@ impl ChatServer {
|
||||
async fn disconnect(&mut self, conn_id: ConnId) {
|
||||
println!("Someone disconnected");
|
||||
|
||||
let mut rooms: Vec<String> = Vec::new();
|
||||
let mut rooms: Vec<RoomId> = Vec::new();
|
||||
|
||||
// remove sender
|
||||
if self.sessions.remove(&conn_id).is_some() {
|
||||
@ -162,12 +162,12 @@ impl ChatServer {
|
||||
}
|
||||
|
||||
/// Returns list of created room names.
|
||||
fn list_rooms(&mut self) -> Vec<String> {
|
||||
fn list_rooms(&mut self) -> Vec<RoomId> {
|
||||
self.rooms.keys().cloned().collect()
|
||||
}
|
||||
|
||||
/// Join room, send disconnect message to old room send join message to new room.
|
||||
async fn join_room(&mut self, conn_id: ConnId, room: String) {
|
||||
async fn join_room(&mut self, conn_id: ConnId, room: RoomId) {
|
||||
let mut rooms = Vec::new();
|
||||
|
||||
// remove session from all rooms
|
||||
@ -230,7 +230,7 @@ pub struct ChatServerHandle {
|
||||
|
||||
impl ChatServerHandle {
|
||||
/// Register client message sender and obtain connection ID.
|
||||
pub async fn connect(&self, conn_tx: mpsc::UnboundedSender<String>) -> ConnId {
|
||||
pub async fn connect(&self, conn_tx: mpsc::UnboundedSender<Msg>) -> ConnId {
|
||||
let (res_tx, res_rx) = oneshot::channel();
|
||||
|
||||
// unwrap: chat server should not have been dropped
|
||||
@ -243,7 +243,7 @@ impl ChatServerHandle {
|
||||
}
|
||||
|
||||
/// List all created rooms.
|
||||
pub async fn list_rooms(&self) -> Vec<String> {
|
||||
pub async fn list_rooms(&self) -> Vec<RoomId> {
|
||||
let (res_tx, res_rx) = oneshot::channel();
|
||||
|
||||
// unwrap: chat server should not have been dropped
|
||||
@ -254,7 +254,7 @@ impl ChatServerHandle {
|
||||
}
|
||||
|
||||
/// Join `room`, creating it if it does not exist.
|
||||
pub async fn join_room(&self, conn: ConnId, room: impl Into<String>) {
|
||||
pub async fn join_room(&self, conn: ConnId, room: impl Into<RoomId>) {
|
||||
let (res_tx, res_rx) = oneshot::channel();
|
||||
|
||||
// unwrap: chat server should not have been dropped
|
||||
@ -271,7 +271,7 @@ impl ChatServerHandle {
|
||||
}
|
||||
|
||||
/// Broadcast message to current room.
|
||||
pub async fn send_message(&self, conn: ConnId, msg: impl Into<String>) {
|
||||
pub async fn send_message(&self, conn: ConnId, msg: impl Into<Msg>) {
|
||||
let (res_tx, res_rx) = oneshot::channel();
|
||||
|
||||
// unwrap: chat server should not have been dropped
|
||||
|
Loading…
Reference in New Issue
Block a user