@@ -575,8 +575,8 @@ pub(crate) struct MysqlOpts {
575
575
/// Database name (defaults to `None`).
576
576
db_name : Option < String > ,
577
577
578
- /// TCP keep alive timeout in milliseconds (defaults to `None`).
579
- tcp_keepalive : Option < u32 > ,
578
+ /// TCP keep alive timeout (defaults to `None`).
579
+ tcp_keepalive : Option < Duration > ,
580
580
581
581
/// Whether to enable `TCP_NODELAY` (defaults to `true`).
582
582
///
@@ -804,7 +804,7 @@ impl Opts {
804
804
/// assert_eq!(opts.tcp_keepalive(), Some(10_000));
805
805
/// # Ok(()) }
806
806
/// ```
807
- pub fn tcp_keepalive ( & self ) -> Option < u32 > {
807
+ pub fn tcp_keepalive ( & self ) -> Option < Duration > {
808
808
self . inner . mysql_opts . tcp_keepalive
809
809
}
810
810
@@ -1353,8 +1353,8 @@ impl OptsBuilder {
1353
1353
}
1354
1354
1355
1355
/// Defines `tcp_keepalive` option. See [`Opts::tcp_keepalive`].
1356
- pub fn tcp_keepalive < T : Into < u32 > > ( mut self , tcp_keepalive : Option < T > ) -> Self {
1357
- self . opts . tcp_keepalive = tcp_keepalive. map ( Into :: into ) ;
1356
+ pub fn tcp_keepalive ( mut self , tcp_keepalive : Option < Duration > ) -> Self {
1357
+ self . opts . tcp_keepalive = tcp_keepalive;
1358
1358
self
1359
1359
}
1360
1360
@@ -1773,7 +1773,7 @@ fn mysqlopts_from_url(url: &Url) -> std::result::Result<MysqlOpts, UrlError> {
1773
1773
}
1774
1774
} else if key == "tcp_keepalive" {
1775
1775
match u32:: from_str ( & value) {
1776
- Ok ( value) => opts. tcp_keepalive = Some ( value) ,
1776
+ Ok ( value) => opts. tcp_keepalive = Some ( Duration :: from_millis ( value. into ( ) ) ) ,
1777
1777
_ => {
1778
1778
return Err ( UrlError :: InvalidParamValue {
1779
1779
param : "tcp_keepalive_ms" . into ( ) ,
0 commit comments