@@ -103,7 +103,7 @@ pub trait Adapter: std::fmt::Debug + Send + Sync + 'static {
103
103
/// Returns the sockets ids that match the [`BroadcastOptions`].
104
104
fn sockets (
105
105
& self ,
106
- rooms : impl RoomParam ,
106
+ opts : BroadcastOptions ,
107
107
) -> impl Future < Output = Result < Vec < Sid > , Self :: Error > > + Send ;
108
108
109
109
/// Returns the rooms of the socket.
@@ -264,10 +264,8 @@ impl Adapter for LocalAdapter {
264
264
265
265
fn sockets (
266
266
& self ,
267
- rooms : impl RoomParam ,
267
+ opts : BroadcastOptions ,
268
268
) -> impl Future < Output = Result < Vec < Sid > , Infallible > > + Send {
269
- let mut opts = BroadcastOptions :: default ( ) ;
270
- opts. rooms . extend ( rooms. into_room_iter ( ) ) ;
271
269
let sockets = self
272
270
. apply_opts ( opts)
273
271
. into_iter ( )
@@ -543,17 +541,21 @@ mod test {
543
541
now ! ( adapter. add_all( socket1, [ "room1" , "room3" ] ) ) . unwrap ( ) ;
544
542
now ! ( adapter. add_all( socket2, [ "room2" , "room3" ] ) ) . unwrap ( ) ;
545
543
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 ( ) ;
547
547
assert_eq ! ( sockets. len( ) , 2 ) ;
548
548
assert ! ( sockets. contains( & socket0) ) ;
549
549
assert ! ( sockets. contains( & socket1) ) ;
550
550
551
- let sockets = now ! ( adapter. sockets( "room2" ) ) . unwrap ( ) ;
551
+ opts. rooms = hash_set ! [ "room2" . into( ) ] ;
552
+ let sockets = now ! ( adapter. sockets( opts. clone( ) ) ) . unwrap ( ) ;
552
553
assert_eq ! ( sockets. len( ) , 2 ) ;
553
554
assert ! ( sockets. contains( & socket0) ) ;
554
555
assert ! ( sockets. contains( & socket2) ) ;
555
556
556
- let sockets = now ! ( adapter. sockets( "room3" ) ) . unwrap ( ) ;
557
+ opts. rooms = hash_set ! [ "room3" . into( ) ] ;
558
+ let sockets = now ! ( adapter. sockets( opts. clone( ) ) ) . unwrap ( ) ;
557
559
assert_eq ! ( sockets. len( ) , 2 ) ;
558
560
assert ! ( sockets. contains( & socket1) ) ;
559
561
assert ! ( sockets. contains( & socket2) ) ;
@@ -577,7 +579,9 @@ mod test {
577
579
opts. rooms = hash_set ! [ "room5" . into( ) ] ;
578
580
now ! ( adapter. disconnect_socket( opts) ) . unwrap ( ) ;
579
581
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 ( ) ;
581
585
assert_eq ! ( sockets. len( ) , 2 ) ;
582
586
assert ! ( sockets. contains( & socket2) ) ;
583
587
assert ! ( sockets. contains( & socket0) ) ;
0 commit comments