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

◆ AcceptAsync() [6/6]

bool System.Net.Sockets.Socket.AcceptAsync ( SocketAsyncEventArgs e,
CancellationToken cancellationToken )
inlineprivate

Definition at line 2779 of file Socket.cs.

2780 {
2782 if (e == null)
2783 {
2784 throw new ArgumentNullException("e");
2785 }
2786 if (e.HasMultipleBuffers)
2787 {
2789 }
2790 if (_rightEndPoint == null)
2791 {
2793 }
2794 if (!_isListening)
2795 {
2797 }
2798 e.AcceptSocket = GetOrCreateAcceptSocket(e.AcceptSocket, checkDisconnected: true, "AcceptSocket", out var handle);
2799 if (SocketsTelemetry.Log.IsEnabled())
2800 {
2801 SocketsTelemetry.Log.AcceptStart(_rightEndPoint);
2802 }
2803 e.StartOperationCommon(this, SocketAsyncOperation.Accept);
2804 e.StartOperationAccept();
2805 SocketError socketError;
2806 try
2807 {
2808 socketError = e.DoOperationAccept(this, _handle, handle, cancellationToken);
2809 }
2810 catch (Exception ex)
2811 {
2812 if (SocketsTelemetry.Log.IsEnabled())
2813 {
2814 SocketsTelemetry.Log.AfterAccept(SocketError.Interrupted, ex.Message);
2815 }
2816 e.Complete();
2817 throw;
2818 }
2819 return socketError == SocketError.IOPending;
2820 }
SafeSocketHandle _handle
Definition Socket.cs:533
Socket GetOrCreateAcceptSocket(Socket acceptSocket, bool checkDisconnected, string propertyName, out SafeSocketHandle handle)
Definition Socket.cs:4566
static string net_sockets_mustlisten
Definition SR.cs:62
static string net_multibuffernotsupported
Definition SR.cs:88
static string net_sockets_mustbind
Definition SR.cs:60
Definition SR.cs:7

References System.Net.Sockets.Socket._handle, System.Net.Sockets.Socket._isListening, System.Net.Sockets.Socket._rightEndPoint, System.Net.Sockets.SocketAsyncEventArgs.AcceptSocket, System.cancellationToken, System.Net.Sockets.SocketAsyncEventArgs.Complete(), System.Net.Sockets.SocketAsyncEventArgs.DoOperationAccept(), System.Net.Sockets.Socket.GetOrCreateAcceptSocket(), System.handle, System.Net.Sockets.SocketAsyncEventArgs.HasMultipleBuffers, System.Net.Sockets.SocketsTelemetry.Log, System.SR.net_multibuffernotsupported, System.SR.net_sockets_mustbind, System.SR.net_sockets_mustlisten, System.Net.Sockets.SocketAsyncEventArgs.StartOperationAccept(), System.Net.Sockets.SocketAsyncEventArgs.StartOperationCommon(), and System.Net.Sockets.Socket.ThrowIfDisposed().