@@ -144,6 +144,11 @@ public int KeepAlivePingDelay
144144 get => _keepAlivePingDelay ;
145145 set
146146 {
147+ if ( value < 0 )
148+ {
149+ throw new ArgumentOutOfRangeException ( nameof ( value ) , value , "Invalid keep alive ping delay: " + value ) ;
150+ }
151+
147152 _keepAlivePingDelay = value ;
148153 SaveValue ( nameof ( KeepAlivePingDelay ) , value ) ;
149154 }
@@ -156,6 +161,12 @@ public int KeepAlivePingTimeout
156161 get => _keepAlivePingTimeout ;
157162 set
158163 {
164+ if ( value < 0 )
165+ {
166+ throw new ArgumentOutOfRangeException ( nameof ( value ) , value ,
167+ "Invalid keep alive ping timeout: " + value ) ;
168+ }
169+
159170 _keepAlivePingTimeout = value ;
160171 SaveValue ( nameof ( KeepAlivePingTimeout ) , value ) ;
161172 }
@@ -221,8 +232,12 @@ internal Task<Driver> BuildDriver()
221232 customServerCertificates : ServerCertificates
222233 )
223234 {
224- KeepAlivePingDelay = TimeSpan . FromSeconds ( KeepAlivePingDelay ) ,
225- KeepAlivePingTimeout = TimeSpan . FromSeconds ( KeepAlivePingTimeout )
235+ KeepAlivePingDelay = KeepAlivePingDelay == 0
236+ ? Timeout . InfiniteTimeSpan
237+ : TimeSpan . FromSeconds ( KeepAlivePingDelay ) ,
238+ KeepAlivePingTimeout = KeepAlivePingTimeout == 0
239+ ? Timeout . InfiniteTimeSpan
240+ : TimeSpan . FromSeconds ( KeepAlivePingTimeout )
226241 } , LoggerFactory ) ;
227242 }
228243
0 commit comments