@@ -499,26 +499,31 @@ impl<IL, OL, C, Req, Resp, MkT, MkC, LB> ClientBuilder<IL, OL, C, Req, Resp, MkT
499499
500500 #[ cfg( feature = "shmipc" ) ]
501501 /// Set the address for the client with shmipc fallback.
502- pub fn address_with_fallback < A1 : Into < Address > , A2 : Into < Address > > (
502+ ///
503+ /// Must be called after `.address(shmipc_addr)`.
504+ pub fn shmipc_fallback_address < A : Into < Address > > (
503505 self ,
504- shmipc_addr : A1 ,
505- fallback_addr : A2 ,
506+ fallback_addr : A ,
506507 ) -> ClientBuilder < IL , OL , C , Req , Resp , ShmipcMakeTransportWithFallback , MkC , LB > {
508+ let shmipc_addr = self
509+ . address
510+ . expect ( "Must call .address() before .with_fallback_address()" ) ;
511+
507512 ClientBuilder {
508- address : Some ( shmipc_addr. into ( ) ) ,
509- make_transport : ShmipcMakeTransportWithFallback :: new (
510- DefaultMakeTransport :: default ( ) ,
511- DefaultMakeTransport :: default ( ) ,
512- fallback_addr. into ( ) ,
513- ) ,
514513 config : self . config ,
515514 pool : self . pool ,
516515 caller_name : self . caller_name ,
517516 callee_name : self . callee_name ,
517+ address : Some ( shmipc_addr) ,
518518 inner_layer : self . inner_layer ,
519519 outer_layer : self . outer_layer ,
520520 mk_client : self . mk_client ,
521521 _marker : PhantomData ,
522+ make_transport : ShmipcMakeTransportWithFallback :: new (
523+ DefaultMakeTransport :: default ( ) ,
524+ DefaultMakeTransport :: default ( ) ,
525+ fallback_addr. into ( ) ,
526+ ) ,
522527 make_codec : self . make_codec ,
523528 mk_lb : self . mk_lb ,
524529 disable_timeout_layer : self . disable_timeout_layer ,
0 commit comments