org.jboss.netty.handler.traffic

## Class TrafficCounter

- java.lang.Object
- - org.jboss.netty.handler.traffic.TrafficCounter

-     public class TrafficCounter
      extends Object

  TrafficCounter is associated with `AbstractTrafficShapingHandler`.
  A TrafficCounter has for goal to count the traffic in order to enable to limit the traffic or not, globally or per channel. It compute statistics on read and written bytes at the specified interval and call back the `AbstractTrafficShapingHandler` doAccounting method at every specified interval. If this interval is set to 0, therefore no accounting will be done and only statistics will be computed at each receive or write operations.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TrafficCounter(AbstractTrafficShapingHandler trafficShapingHandler, Timer timer, String name, long checkInterval)` Constructor with the `AbstractTrafficShapingHandler` that hosts it, the Timer to use, its name, the checkInterval between two computations in millisecond

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `configure(long newcheckInterval)` Change checkInterval between two computations in millisecond
    `long` | `getCheckInterval()`
    `long` | `getCumulativeReadBytes()`
    `long` | `getCumulativeWrittenBytes()`
    `long` | `getCurrentReadBytes()`
    `long` | `getCurrentWrittenBytes()`
    `long` | `getLastCumulativeTime()`
    `long` | `getLastReadBytes()`
    `long` | `getLastReadThroughput()`
    `long` | `getLastTime()`
    `long` | `getLastWriteThroughput()`
    `long` | `getLastWrittenBytes()`
    `String` | `getName()`
    `void` | `resetCumulativeTime()` Reset both read and written cumulative bytes counters and the associated time.
    `void` | `start()` Start the monitoring process
    `void` | `stop()` Stop the monitoring process
    `String` | `toString()` String information

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TrafficCounter

          public TrafficCounter(AbstractTrafficShapingHandler trafficShapingHandler,
                        Timer timer,
                        String name,
                        long checkInterval)

      Constructor with the `AbstractTrafficShapingHandler` that hosts it, the Timer to use, its name, the checkInterval between two computations in millisecond
      Parameters:
        `trafficShapingHandler` - the associated AbstractTrafficShapingHandler
        `timer` - Could be a HashedWheelTimer
        `name` - the name given to this monitor
        `checkInterval` - the checkInterval in millisecond between two computations

  - ### Method Detail

    - #### start

          public void start()

      Start the monitoring process

    - #### stop

          public void stop()

      Stop the monitoring process

    - #### configure

          public void configure(long newcheckInterval)

      Change checkInterval between two computations in millisecond
      Parameters:
        `newcheckInterval` -

    - #### getCheckInterval

          public long getCheckInterval()

      Returns:
        the current checkInterval between two computations of traffic counter in millisecond

    - #### getLastReadThroughput

          public long getLastReadThroughput()

      Returns:
        the Read Throughput in bytes/s computes in the last check interval

    - #### getLastWriteThroughput

          public long getLastWriteThroughput()

      Returns:
        the Write Throughput in bytes/s computes in the last check interval

    - #### getLastReadBytes

          public long getLastReadBytes()

      Returns:
        the number of bytes read during the last check Interval

    - #### getLastWrittenBytes

          public long getLastWrittenBytes()

      Returns:
        the number of bytes written during the last check Interval

    - #### getCurrentReadBytes

          public long getCurrentReadBytes()

      Returns:
        the current number of bytes read since the last checkInterval

    - #### getCurrentWrittenBytes

          public long getCurrentWrittenBytes()

      Returns:
        the current number of bytes written since the last check Interval

    - #### getLastTime

          public long getLastTime()

      Returns:
        the Time in millisecond of the last check as of System.currentTimeMillis()

    - #### getCumulativeWrittenBytes

          public long getCumulativeWrittenBytes()

      Returns:
        the cumulativeWrittenBytes

    - #### getCumulativeReadBytes

          public long getCumulativeReadBytes()

      Returns:
        the cumulativeReadBytes

    - #### getLastCumulativeTime

          public long getLastCumulativeTime()

      Returns:
        the lastCumulativeTime in millisecond as of System.currentTimeMillis() when the cumulative counters were reset to 0.

    - #### resetCumulativeTime

          public void resetCumulativeTime()

      Reset both read and written cumulative bytes counters and the associated time.

    - #### getName

          public String getName()

      Returns:
        the name

    - #### toString

          public String toString()

      String information
      Overrides:
        `toString` in class `Object`

Copyright © 2008-2012 The Netty Project. All Rights Reserved.