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

◆ PostProgressChanged()

void System.Net.WebClient.PostProgressChanged ( AsyncOperation asyncOp,
ProgressData progress )
inlineprivate

Definition at line 2146 of file WebClient.cs.

2147 {
2148 if (asyncOp == null || (progress.BytesSent <= 0 && progress.BytesReceived <= 0))
2149 {
2150 return;
2151 }
2152 if (progress.HasUploadPhase)
2153 {
2154 if (this.UploadProgressChanged != null)
2155 {
2156 int progressPercentage = (int)((progress.TotalBytesToReceive >= 0 || progress.BytesReceived != 0L) ? ((progress.TotalBytesToSend < 0) ? 50 : ((progress.TotalBytesToReceive == 0L) ? 100 : (50 * progress.BytesReceived / progress.TotalBytesToReceive + 50))) : ((progress.TotalBytesToSend >= 0) ? ((progress.TotalBytesToSend == 0L) ? 50 : (50 * progress.BytesSent / progress.TotalBytesToSend)) : 0));
2157 asyncOp.Post(_reportUploadProgressChanged, new UploadProgressChangedEventArgs(progressPercentage, asyncOp.UserSuppliedState, progress.BytesSent, progress.TotalBytesToSend, progress.BytesReceived, progress.TotalBytesToReceive));
2158 }
2159 }
2160 else if (this.DownloadProgressChanged != null)
2161 {
2162 int progressPercentage = (int)((progress.TotalBytesToReceive >= 0) ? ((progress.TotalBytesToReceive == 0L) ? 100 : (100 * progress.BytesReceived / progress.TotalBytesToReceive)) : 0);
2163 asyncOp.Post(_reportDownloadProgressChanged, new DownloadProgressChangedEventArgs(progressPercentage, asyncOp.UserSuppliedState, progress.BytesReceived, progress.TotalBytesToReceive));
2164 }
2165 }
void Post(SendOrPostCallback d, object? arg)
SendOrPostCallback _reportUploadProgressChanged
Definition WebClient.cs:118
SendOrPostCallback _reportDownloadProgressChanged
Definition WebClient.cs:116
UploadProgressChangedEventHandler? UploadProgressChanged
Definition WebClient.cs:273
DownloadProgressChangedEventHandler? DownloadProgressChanged
Definition WebClient.cs:271

References System.Net.WebClient._reportDownloadProgressChanged, System.Net.WebClient._reportUploadProgressChanged, System.Net.WebClient.ProgressData.BytesReceived, System.Net.WebClient.ProgressData.BytesSent, System.Net.WebClient.ProgressData.HasUploadPhase, System.L, System.ComponentModel.AsyncOperation.Post(), System.Net.WebClient.ProgressData.TotalBytesToReceive, System.Net.WebClient.ProgressData.TotalBytesToSend, and System.ComponentModel.AsyncOperation.UserSuppliedState.

Referenced by System.Net.WebClient.DownloadBitsAsync(), and System.Net.WebClient.UploadBitsAsync().