File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,26 @@ impl RelayMap {
120120 }
121121}
122122
123+ impl Extend < ( RelayUrl , Arc < RelayConfig > ) > for RelayMap {
124+ /// Extends this `RelayMap` with another one.
125+ ///
126+ /// You can use this like this:
127+ ///
128+ /// ```rust
129+ /// # let relay_map_a: RelayMap = { unimplemented!() };
130+ /// # let relay_map_b: RelayMap = { unimplemented!() };
131+ ///
132+ /// relay_map_a.extend(relay_map_b.relays::<Vec<_>>());
133+ /// ```
134+ fn extend < I > ( & mut self , iter : I )
135+ where
136+ I : IntoIterator < Item = ( RelayUrl , Arc < RelayConfig > ) > ,
137+ {
138+ let mut a = self . relays . write ( ) . expect ( "poisoned" ) ;
139+ a. extend ( iter) ;
140+ }
141+ }
142+
123143impl FromIterator < RelayConfig > for RelayMap {
124144 fn from_iter < T : IntoIterator < Item = RelayConfig > > ( iter : T ) -> Self {
125145 Self :: from_iter ( iter. into_iter ( ) . map ( Arc :: new) )
You can’t perform that action at this time.
0 commit comments