예제 #1
0
        /// <summary>
        /// Adds bits to the total transfered
        /// </summary>
        /// <param name="count">Byte count</param>
        public void AddBits(uint count)
        {
            // overflow max
            if ((count * 8) >= Int32.MaxValue)
            {
                return;
            }

            count = 8 * count;
            lock (this)
            {
                perSecond.AddBits(count);
            }
            bits  += count;
            kbits += bits / 1024;
            bits   = bits % 1024;

            mbits += kbits / 1024;
            kbits  = kbits % 1024;

            gbits += mbits / 1024;
            mbits  = mbits % 1024;

            tbits += gbits / 1024;
            gbits  = gbits % 1024;

            pbits += tbits / 1024;
            tbits  = tbits % 1024;
        }
        /// <summary>
        /// Adds bits to the total transfered
        /// </summary>
        /// <param name="count">Byte count</param>
        public void AddBits(uint count)
        {
            lock (this)
            {
                perSecond.AddBits(count);
            }
            bits  += count;
            kbits += bits / 1024;
            bits   = bits % 1024;

            mbits += kbits / 1024;
            kbits  = kbits % 1024;

            gbits += mbits / 1024;
            mbits  = mbits % 1024;

            tbits += gbits / 1024;
            gbits  = gbits % 1024;

            pbits += tbits / 1024;
            tbits  = tbits % 1024;
        }