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

◆ ReceiveMessageFromAsync() [2/4]

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

Definition at line 4111 of file Socket.cs.

4112 {
4114 if (cancellationToken.IsCancellationRequested)
4115 {
4116 return ValueTask.FromCanceled<SocketReceiveMessageFromResult>(cancellationToken);
4117 }
4118 AwaitableSocketAsyncEventArgs awaitableSocketAsyncEventArgs = Interlocked.Exchange(ref _singleBufferReceiveEventArgs, null) ?? new AwaitableSocketAsyncEventArgs(this, isReceiveForCaching: true);
4120 awaitableSocketAsyncEventArgs.SocketFlags = socketFlags;
4121 awaitableSocketAsyncEventArgs.RemoteEndPoint = remoteEndPoint;
4122 awaitableSocketAsyncEventArgs.WrapExceptionsForNetworkStream = false;
4123 return awaitableSocketAsyncEventArgs.ReceiveMessageFromAsync(this, cancellationToken);
4124 }
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().