Esempio n. 1
0
        /// <summary>
        /// Poll readers.
        /// </summary>
        /// <param name="mux">The current mux.</param>
        /// <param name="threadIndex">The current thread index.</param>
        private void PollReadEx(IMultiplexed mux, int threadIndex)
        {
            if (null == mux)
            {
                return;
            }
            if (mux.Suspend)
            {
                return;
            }
            mux.ReadyRead();

            // Only if write polling is enabled.
            if (_pollWriter)
            {
                // If not listener.
                if (!mux.IsListener)
                {
                    _pollWriterInt[threadIndex] = true;

                    // If the write job does not exist.
                    if (!_writeQueues[threadIndex].Contains(mux))
                    {
                        _writeQueues[threadIndex].Add(mux);
                    }
                }
            }
        }