System.Net.Sockets.SocketPal.AddToPollArray C# (CSharp) Метод

AddToPollArray() приватный статический Метод

private static AddToPollArray ( System.Net.Interop arr, int arrLength, IList socketList, int &arrOffset, System.Net.Interop events ) : void
arr System.Net.Interop
arrLength int
socketList IList
arrOffset int
events System.Net.Interop
Результат void
        private static unsafe void AddToPollArray(Interop.Sys.PollEvent* arr, int arrLength, IList socketList, ref int arrOffset, Interop.Sys.PollEvents events)
        {
            if (socketList == null)
                return;

            int listCount = socketList.Count;
            for (int i = 0; i < listCount; i++)
            {
                if (arrOffset >= arrLength)
                {
                    Debug.Fail("IList.Count must have been faulty, returning a negative value and/or returning a different value across calls.");
                    throw new ArgumentOutOfRangeException(nameof(socketList));
                }

                Socket socket = socketList[i] as Socket;
                if (socket == null)
                {
                    throw new ArgumentException(SR.Format(SR.net_sockets_select, socket?.GetType().FullName ?? "null", typeof(Socket).FullName));
                }

                int fd = (int)socket.SafeHandle.DangerousGetHandle();
                arr[arrOffset++] = new Interop.Sys.PollEvent { Events = events, FileDescriptor = fd };
            }
        }