Skip to content

Commit b384743

Browse files
committed
feat(socketio/adapter): replace RoomParam by BroadcastOptions
1 parent 4ec5721 commit b384743

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

crates/socketioxide/src/adapter.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ pub trait Adapter: std::fmt::Debug + Send + Sync + 'static {
103103
/// Returns the sockets ids that match the [`BroadcastOptions`].
104104
fn sockets(
105105
&self,
106-
rooms: impl RoomParam,
106+
opts: BroadcastOptions,
107107
) -> impl Future<Output = Result<Vec<Sid>, Self::Error>> + Send;
108108

109109
/// Returns the rooms of the socket.
@@ -264,10 +264,8 @@ impl Adapter for LocalAdapter {
264264

265265
fn sockets(
266266
&self,
267-
rooms: impl RoomParam,
267+
opts: BroadcastOptions,
268268
) -> impl Future<Output = Result<Vec<Sid>, Infallible>> + Send {
269-
let mut opts = BroadcastOptions::default();
270-
opts.rooms.extend(rooms.into_room_iter());
271269
let sockets = self
272270
.apply_opts(opts)
273271
.into_iter()
@@ -543,17 +541,21 @@ mod test {
543541
now!(adapter.add_all(socket1, ["room1", "room3"])).unwrap();
544542
now!(adapter.add_all(socket2, ["room2", "room3"])).unwrap();
545543

546-
let sockets = now!(adapter.sockets("room1")).unwrap();
544+
let mut opts = BroadcastOptions::default();
545+
opts.rooms = hash_set!["room1".into()];
546+
let sockets = now!(adapter.sockets(opts.clone())).unwrap();
547547
assert_eq!(sockets.len(), 2);
548548
assert!(sockets.contains(&socket0));
549549
assert!(sockets.contains(&socket1));
550550

551-
let sockets = now!(adapter.sockets("room2")).unwrap();
551+
opts.rooms = hash_set!["room2".into()];
552+
let sockets = now!(adapter.sockets(opts.clone())).unwrap();
552553
assert_eq!(sockets.len(), 2);
553554
assert!(sockets.contains(&socket0));
554555
assert!(sockets.contains(&socket2));
555556

556-
let sockets = now!(adapter.sockets("room3")).unwrap();
557+
opts.rooms = hash_set!["room3".into()];
558+
let sockets = now!(adapter.sockets(opts.clone())).unwrap();
557559
assert_eq!(sockets.len(), 2);
558560
assert!(sockets.contains(&socket1));
559561
assert!(sockets.contains(&socket2));
@@ -577,7 +579,9 @@ mod test {
577579
opts.rooms = hash_set!["room5".into()];
578580
now!(adapter.disconnect_socket(opts)).unwrap();
579581

580-
let sockets = now!(adapter.sockets("room2")).unwrap();
582+
let mut opts = BroadcastOptions::default();
583+
opts.rooms.insert("room2".into());
584+
let sockets = now!(adapter.sockets(opts.clone())).unwrap();
581585
assert_eq!(sockets.len(), 2);
582586
assert!(sockets.contains(&socket2));
583587
assert!(sockets.contains(&socket0));

0 commit comments

Comments
 (0)