MCPcopy Index your code
hub / github.com/dreamsofcode-io/chatly / on_connect

Function on_connect

src/main.rs:24–54  ·  view source on GitHub ↗
(socket: SocketRef)

Source from the content-addressed store, hash-verified

22}
23
24async fn on_connect(socket: SocketRef) {
25 info!("socket connected: {}", socket.id);
26
27 socket.on(
28 "join",
29 |socket: SocketRef, Data::<String>(room), store: State<state::MessageStore>| async move {
30 info!("Received join: {:?}", room);
31 let _ = socket.leave_all();
32 let _ = socket.join(room.clone());
33 let messages = store.get(&room).await;
34 let _ = socket.emit("messages", Messages { messages });
35 },
36 );
37
38 socket.on(
39 "message",
40 |socket: SocketRef, Data::<MessageIn>(data), store: State<state::MessageStore>| async move {
41 info!("Received message: {:?}", data);
42
43 let response = state::Message {
44 text: data.text,
45 user: format!("anon-{}", socket.id),
46 date: chrono::Utc::now(),
47 };
48
49 store.insert(&data.room, response.clone()).await;
50
51 let _ = socket.within(data.room).emit("message", response);
52 },
53 )
54}
55
56async fn handler(axum::extract::State(io): axum::extract::State<SocketIo>) {
57 info!("handler called");

Callers

nothing calls this directly

Calls 2

getMethod · 0.80
insertMethod · 0.80

Tested by

no test coverage detected