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

◆ GetTaskForSendReceive()

Task< int > System.Net.Sockets.Socket.GetTaskForSendReceive ( bool pending,
TaskSocketAsyncEventArgs< int > saea,
bool fromNetworkStream,
bool isReceive )
inlineprivate

Definition at line 4294 of file Socket.cs.

4295 {
4296 Task<int> result;
4297 if (pending)
4298 {
4299 result = saea.GetCompletionResponsibility(out var responsibleForReturningToPool).Task;
4301 {
4303 }
4304 }
4305 else
4306 {
4307 result = ((saea.SocketError != 0) ? Task.FromException<int>(GetException(saea.SocketError, fromNetworkStream)) : Task.FromResult((!(fromNetworkStream && !isReceive)) ? saea.BytesTransferred : 0));
4309 }
4310 return result;
4311 }
void ReturnSocketAsyncEventArgs(TaskSocketAsyncEventArgs< int > saea, bool isReceive)
Definition Socket.cs:4344
static Exception GetException(SocketError error, bool wrapExceptionsInIOExceptions=false)
Definition Socket.cs:4334
static Task FromException(Exception exception)
Definition Task.cs:3341

References System.Threading.Tasks.Task< TResult >.FromException(), System.Net.Sockets.Socket.GetException(), and System.Net.Sockets.Socket.ReturnSocketAsyncEventArgs().

Referenced by System.Net.Sockets.Socket.ReceiveAsync(), and System.Net.Sockets.Socket.SendAsync().