Skip to content

Commit 7a49600

Browse files
remove redundant StopWatch.Stop in SendBroadcastUDPRequest (#4102)
Co-authored-by: Paul Medynski <31868385+paulmedynski@users.noreply.github.com>
1 parent a9bde00 commit 7a49600

1 file changed

Lines changed: 6 additions & 14 deletions

File tree

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ManagedSni/SsrpClient.netcore.cs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -414,24 +414,16 @@ internal static string SendBroadcastUDPRequest()
414414
Task<int> sendTask = clientListener.SendAsync(CLNT_BCAST_EX_Request, CLNT_BCAST_EX_Request.Length, new IPEndPoint(IPAddress.Broadcast, SqlServerBrowserPort));
415415
Task<UdpReceiveResult> receiveTask = null;
416416
SqlClientEventSource.Log.TrySNITraceEvent(nameof(SsrpClient), EventType.INFO, "Waiting for UDP Client to fetch list of instances.");
417-
Stopwatch sw = new Stopwatch(); //for waiting until 15 sec elapsed
418-
sw.Start();
419-
try
417+
Stopwatch sw = Stopwatch.StartNew(); //for waiting until 15 sec elapsed
418+
while ((receiveTask = clientListener.ReceiveAsync()).Wait(currentTimeOut) && sw.ElapsedMilliseconds <= ReceiveMAXTimeoutsForCLNT_BCAST_EX && receiveTask != null)
420419
{
421-
while ((receiveTask = clientListener.ReceiveAsync()).Wait(currentTimeOut) && sw.ElapsedMilliseconds <= ReceiveMAXTimeoutsForCLNT_BCAST_EX && receiveTask != null)
420+
currentTimeOut = ReceiveTimeoutsForCLNT_BCAST_EX;
421+
SqlClientEventSource.Log.TrySNITraceEvent(nameof(SsrpClient), EventType.INFO, "Received instnace info from UDP Client.");
422+
if (receiveTask.Result.Buffer.Length < ValidResponseSizeForCLNT_BCAST_EX) //discard invalid response
422423
{
423-
currentTimeOut = ReceiveTimeoutsForCLNT_BCAST_EX;
424-
SqlClientEventSource.Log.TrySNITraceEvent(nameof(SsrpClient), EventType.INFO, "Received instance info from UDP Client.");
425-
if (receiveTask.Result.Buffer.Length < ValidResponseSizeForCLNT_BCAST_EX) //discard invalid response
426-
{
427-
response.Append(Encoding.ASCII.GetString(receiveTask.Result.Buffer, ServerResponseHeaderSizeForCLNT_BCAST_EX, receiveTask.Result.Buffer.Length - ServerResponseHeaderSizeForCLNT_BCAST_EX)); //RESP_DATA(VARIABLE) - 3 (RESP_SIZE + SVR_RESP)
428-
}
424+
response.Append(Encoding.ASCII.GetString(receiveTask.Result.Buffer, ServerResponseHeaderSizeForCLNT_BCAST_EX, receiveTask.Result.Buffer.Length - ServerResponseHeaderSizeForCLNT_BCAST_EX)); //RESP_DATA(VARIABLE) - 3 (RESP_SIZE + SVR_RESP)
429425
}
430426
}
431-
finally
432-
{
433-
sw.Stop();
434-
}
435427
}
436428
}
437429
return response.ToString();

0 commit comments

Comments
 (0)