@@ -183,6 +183,7 @@ pub struct Config {
183
183
pub ( crate ) host : Vec < Host > ,
184
184
pub ( crate ) port : Vec < u16 > ,
185
185
pub ( crate ) connect_timeout : Option < Duration > ,
186
+ pub ( crate ) user_timeout : Option < Duration > ,
186
187
pub ( crate ) keepalives : bool ,
187
188
pub ( crate ) keepalive_config : KeepaliveConfig ,
188
189
pub ( crate ) target_session_attrs : TargetSessionAttrs ,
@@ -217,6 +218,7 @@ impl Config {
217
218
host : vec ! [ ] ,
218
219
port : vec ! [ ] ,
219
220
connect_timeout : None ,
221
+ user_timeout : None ,
220
222
keepalives : true ,
221
223
keepalive_config,
222
224
target_session_attrs : TargetSessionAttrs :: Any ,
@@ -407,6 +409,18 @@ impl Config {
407
409
self . connect_timeout . as_ref ( )
408
410
}
409
411
412
+ /// Sets the TCP user timeout.
413
+ pub fn user_timeout ( & mut self , user_timeout : Duration ) -> & mut Config {
414
+ self . user_timeout = Some ( user_timeout) ;
415
+ self
416
+ }
417
+
418
+ /// Gets the TCP user timeout, if one has been set with the
419
+ /// `user_timeout` method.
420
+ pub fn get_user_timeout ( & self ) -> Option < & Duration > {
421
+ self . user_timeout . as_ref ( )
422
+ }
423
+
410
424
/// Controls the use of TCP keepalive.
411
425
///
412
426
/// This is ignored for Unix domain socket connections. Defaults to `true`.
0 commit comments