Amqp.Listener.ConnectionListener.TcpTransportListener.AcceptAsync C# (CSharp) Метод

AcceptAsync() приватный Метод

private AcceptAsync ( Socket socket ) : System.Threading.Tasks.Task
socket Socket
Результат System.Threading.Tasks.Task
            async Task AcceptAsync(Socket socket)
            {
                SocketAsyncEventArgs args = new SocketAsyncEventArgs();
                args.Completed += (s, a) => ((TaskCompletionSource<Socket>)a.UserToken).Complete(a, b => b.AcceptSocket);

                while (!this.closed)
                {
                    try
                    {
                        args.AcceptSocket = null;
                        Socket acceptSocket = await socket.AcceptAsync(args, SocketFlags.None);
                        var task = this.HandleSocketAsync(acceptSocket);
                    }
                    catch (ObjectDisposedException)
                    {
                        // listener is closed
                    }
                    catch (Exception exception)
                    {
                        Trace.WriteLine(TraceLevel.Warning, exception.ToString());
                    }
                }

                args.Dispose();
                socket.Dispose();
            }
        }