Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ PingCallback()

void System.Net.NetworkInformation.Ping.PingCallback ( )
inlineprivate

Definition at line 597 of file Ping.cs.

598 {
601 PingReply pingReply = null;
602 Exception exception = null;
603 bool flag = false;
604 try
605 {
606 lock (_lockObject)
607 {
608 flag = _canceled;
609 pingReply = CreatePingReply();
610 }
611 }
612 catch (Exception innerException)
613 {
614 exception = new PingException(System.SR.net_ping, innerException);
615 }
616 finally
617 {
618 Cleanup(isAsync: true);
619 }
620 if (flag)
621 {
622 taskCompletionSource.SetCanceled();
623 }
624 else if (pingReply != null)
625 {
626 taskCompletionSource.SetResult(pingReply);
627 }
628 else
629 {
630 taskCompletionSource.SetException(exception);
631 }
632 }
TaskCompletionSource< PingReply > _taskCompletionSource
Definition Ping.cs:43
void Cleanup(bool isAsync)
Definition Ping.cs:588
readonly ManualResetEventSlim _lockObject
Definition Ping.cs:13
static string net_ping
Definition SR.cs:20
Definition SR.cs:7

References System.Net.NetworkInformation.Ping._canceled, System.Net.NetworkInformation.Ping._lockObject, System.Net.NetworkInformation.Ping._taskCompletionSource, System.Net.NetworkInformation.Ping.Cleanup(), System.Net.NetworkInformation.Ping.CreatePingReply(), System.exception, System.SR.net_ping, System.Threading.Tasks.TaskCompletionSource< TResult >.SetCanceled(), System.Threading.Tasks.TaskCompletionSource< TResult >.SetException(), and System.Threading.Tasks.TaskCompletionSource< TResult >.SetResult().