Skip to content

Commit 0327115

Browse files
Add checkers and Infinity on zero
1 parent 281ce5d commit 0327115

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

src/Ydb.Sdk/src/Ado/YdbConnectionStringBuilder.cs

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

Comments
 (0)