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

◆ ReceiveFromAsync() [2/4]

ValueTask< SocketReceiveFromResult > System.Net.Sockets.Socket.ReceiveFromAsync ( Memory< byte > buffer,
SocketFlags socketFlags,
EndPoint remoteEndPoint,
CancellationToken cancellationToken = default(CancellationToken) )
inline

Definition at line 4090 of file Socket.cs.

4091 {
4093 if (cancellationToken.IsCancellationRequested)
4094 {
4095 return ValueTask.FromCanceled<SocketReceiveFromResult>(cancellationToken);
4096 }
4097 AwaitableSocketAsyncEventArgs awaitableSocketAsyncEventArgs = Interlocked.Exchange(ref _singleBufferReceiveEventArgs, null) ?? new AwaitableSocketAsyncEventArgs(this, isReceiveForCaching: true);
4099 awaitableSocketAsyncEventArgs.SocketFlags = socketFlags;
4100 awaitableSocketAsyncEventArgs.RemoteEndPoint = remoteEndPoint;
4101 awaitableSocketAsyncEventArgs.WrapExceptionsForNetworkStream = false;
4102 return awaitableSocketAsyncEventArgs.ReceiveFromAsync(this, cancellationToken);
4103 }
void ValidateReceiveFromEndpointAndState(EndPoint remoteEndPoint, string remoteEndPointArgumentName)
Definition Socket.cs:3757
AwaitableSocketAsyncEventArgs _singleBufferReceiveEventArgs
Definition Socket.cs:567
static int Exchange(ref int location1, int value)
static ValueTask FromCanceled(CancellationToken cancellationToken)
Definition ValueTask.cs:180

References System.Net.Sockets.Socket._singleBufferReceiveEventArgs, System.buffer, System.cancellationToken, System.Threading.Interlocked.Exchange(), System.Threading.Tasks.ValueTask< TResult >.FromCanceled(), and System.Net.Sockets.Socket.ValidateReceiveFromEndpointAndState().