@@ -205,7 +205,7 @@ impl TopologyDescription {
205205 & self ,
206206 address : & ServerAddress ,
207207 command : & mut Command ,
208- criteria : Option < & SelectionCriteria > ,
208+ criteria : & SelectionCriteria ,
209209 ) {
210210 let server_type = self
211211 . get_server_description ( address)
@@ -220,8 +220,7 @@ impl TopologyDescription {
220220 }
221221 ( TopologyType :: Single , ServerType :: Standalone ) => { }
222222 ( TopologyType :: Single , _) => {
223- let specified_read_pref =
224- criteria. and_then ( SelectionCriteria :: as_read_pref) . cloned ( ) ;
223+ let specified_read_pref = criteria. as_read_pref ( ) . cloned ( ) ;
225224
226225 let resolved_read_pref = match specified_read_pref {
227226 Some ( ReadPreference :: Primary ) | None => ReadPreference :: PrimaryPreferred {
@@ -235,11 +234,10 @@ impl TopologyDescription {
235234 }
236235 _ => {
237236 let read_pref = match criteria {
238- Some ( SelectionCriteria :: ReadPreference ( rp) ) => rp. clone ( ) ,
239- Some ( SelectionCriteria :: Predicate ( _) ) => ReadPreference :: PrimaryPreferred {
237+ SelectionCriteria :: ReadPreference ( rp) => rp. clone ( ) ,
238+ SelectionCriteria :: Predicate ( _) => ReadPreference :: PrimaryPreferred {
240239 options : Default :: default ( ) ,
241240 } ,
242- None => ReadPreference :: Primary ,
243241 } ;
244242 if read_pref != ReadPreference :: Primary {
245243 command. set_read_preference ( read_pref)
@@ -251,10 +249,10 @@ impl TopologyDescription {
251249 fn update_command_read_pref_for_mongos (
252250 & self ,
253251 command : & mut Command ,
254- criteria : Option < & SelectionCriteria > ,
252+ criteria : & SelectionCriteria ,
255253 ) {
256254 let read_preference = match criteria {
257- Some ( SelectionCriteria :: ReadPreference ( rp) ) => rp,
255+ SelectionCriteria :: ReadPreference ( rp) => rp,
258256 _ => return ,
259257 } ;
260258 match read_preference {
0 commit comments