Skip to content

Commit 0c35e94

Browse files
committed
fix: refactor address_with_fallback
1 parent b366554 commit 0c35e94

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

volo-thrift/src/client/mod.rs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)