public class TrafficCounter
extends java.lang.Object
它在给定的checkInterval
处定期计算入站和出站流量的统计数据,然后再调用AbstractTrafficShapingHandler.doAccounting(TrafficCounter)
方法。 如果checkInterval
是0
,则不进行记帐,只会在每次接收或写入操作时计算统计数据。
Constructor and Description |
---|
TrafficCounter(AbstractTrafficShapingHandler trafficShapingHandler, java.util.concurrent.ScheduledExecutorService executor, java.lang.String name, long checkInterval)
带有 AbstractTrafficShapingHandler 托管它的构造函数,要使用的Timer,其名称,两次计算之间的checkInterval(以毫秒为单位)。
|
TrafficCounter(java.util.concurrent.ScheduledExecutorService executor, java.lang.String name, long checkInterval)
带有 AbstractTrafficShapingHandler 的构造函数承载它,使用ScheduledExecutorService ,它的名称,两次计算之间的checkInterval(以毫秒为单位)。
|
Modifier and Type | Method and Description |
---|---|
long |
checkInterval() |
void |
configure(long newCheckInterval)
更改两次计算之间的checkInterval(以毫秒为单位)。
|
long |
cumulativeReadBytes() |
long |
cumulativeWrittenBytes() |
long |
currentReadBytes() |
long |
currentWrittenBytes() |
long |
getRealWriteThroughput() |
java.util.concurrent.atomic.AtomicLong |
getRealWrittenBytes() |
long |
lastCumulativeTime() |
long |
lastReadBytes() |
long |
lastReadThroughput() |
long |
lastTime() |
long |
lastWriteThroughput() |
long |
lastWrittenBytes() |
static long |
milliSecondFromNano() |
java.lang.String |
name() |
long |
readTimeToWait(long size, long limitTraffic, long maxTime)
已过时。
|
long |
readTimeToWait(long size, long limitTraffic, long maxTime, long now)
使用给定的limitTraffic和最大等待时间,返回给定长度消息的等待时间(如果有的话)。
|
void |
resetCumulativeTime()
从System.currentTimeMillis()中复位读取和写入的累计字节计数器和相关的绝对时间。
|
void |
start()
开始监测过程。
|
void |
stop()
停止监视过程。
|
java.lang.String |
toString() |
long |
writeTimeToWait(long size, long limitTraffic, long maxTime)
已过时。
|
long |
writeTimeToWait(long size, long limitTraffic, long maxTime, long now)
使用给定的limitTraffic和最大等待时间,返回给定长度消息的等待时间(如果有的话)。
|
public TrafficCounter(java.util.concurrent.ScheduledExecutorService executor, java.lang.String name, long checkInterval)
AbstractTrafficShapingHandler
承载它的ScheduledExecutorService
,使用ScheduledExecutorService
,它的名称,两次计算之间的checkInterval(以毫秒为单位)。
executor
- 用于调度检查的基础执行程序服务,从GlobalChannelTrafficCounter
使用时可能为空。
name
- 给予此显示器的名称。
checkInterval
- 两次计算之间以毫秒为单位的checkInterval。
public TrafficCounter(AbstractTrafficShapingHandler trafficShapingHandler, java.util.concurrent.ScheduledExecutorService executor, java.lang.String name, long checkInterval)
AbstractTrafficShapingHandler
的构造函数承载它,要使用的Timer,它的名称,两次计算之间的checkInterval(以毫秒为单位)。
trafficShapingHandler
- 相关的AbstractTrafficShapingHandler。
executor
- 调度检查的底层执行程序服务,从GlobalChannelTrafficCounter
使用时可能为空。
name
- 给予此显示器的名称。
checkInterval
- 两次计算之间以毫秒为单位的checkInterval。
public static long milliSecondFromNano()
public void start()
public void stop()
public void configure(long newCheckInterval)
newCheckInterval
- 新的检查间隔(以毫秒为单位)
public long checkInterval()
public long lastReadThroughput()
public long lastWriteThroughput()
public long lastReadBytes()
public long lastWrittenBytes()
public long currentReadBytes()
public long currentWrittenBytes()
public long lastTime()
public long cumulativeWrittenBytes()
public long cumulativeReadBytes()
public long lastCumulativeTime()
public java.util.concurrent.atomic.AtomicLong getRealWrittenBytes()
public long getRealWriteThroughput()
public void resetCumulativeTime()
public java.lang.String name()
@Deprecated public long readTimeToWait(long size, long limitTraffic, long maxTime)
size
- recv大小
limitTraffic
- 每秒以字节为单位的流量限制。
maxTime
- 在
maxTime
的情况下以毫秒为单位的最大时间。
public long readTimeToWait(long size, long limitTraffic, long maxTime, long now)
size
- recv尺寸
limitTraffic
- 每秒以字节为单位的流量限制
maxTime
- 在
maxTime
的情况下等待的最长时间(以毫秒为单位)。
now
- 当前时间
@Deprecated public long writeTimeToWait(long size, long limitTraffic, long maxTime)
size
- 写入大小
limitTraffic
- 每秒以字节为单位的流量限制。
maxTime
- 在
maxTime
的情况下以毫秒为单位的最大时间。
public long writeTimeToWait(long size, long limitTraffic, long maxTime, long now)
size
- 写入大小
limitTraffic
- 每秒以字节为单位的流量限制。
maxTime
- 流
maxTime
时以毫秒为单位的最大时间。
now
- 当前时间
public java.lang.String toString()
toString
在课堂上
java.lang.Object
Copyright © 2008–2018 The Netty Project. All rights reserved.