
com.groupbyinc.flux.common.jboss.netty.handler.traffic.GlobalTrafficShapingHandler.class Maven / Gradle / Ivy
???? 1S Rcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler Tcom/groupbyinc/flux/common/jboss/netty/handler/traffic/AbstractTrafficShapingHandler GlobalTrafficShapingHandler.java HLcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandler$Sharable; Ycom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$ToSend ToSend ]com/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel
PerChannel Tcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$1
Fcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandler$Sharable =com/groupbyinc/flux/common/jboss/netty/channel/ChannelHandler Sharable
channelQueues $Ljava/util/concurrent/ConcurrentMap; ?Ljava/util/concurrent/ConcurrentMap;
queuesSize (Ljava/util/concurrent/atomic/AtomicLong; maxGlobalWriteSize J createGlobalTrafficCounter ()V timer 3Lcom/groupbyinc/flux/common/jboss/netty/util/Timer; Ecom/groupbyinc/flux/common/jboss/netty/handler/traffic/TrafficCounter ! GlobalTC #
checkInterval % & ?(Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/AbstractTrafficShapingHandler;Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;Ljava/lang/String;J)V ( )
" * setTrafficCounter J(Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/TrafficCounter;)V , -
. start 0
" 1 tc GLcom/groupbyinc/flux/common/jboss/netty/handler/traffic/TrafficCounter; this TLcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler; 9(Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;JJJ)V ( 7
8 Fcom/groupbyinc/flux/common/jboss/netty/util/internal/ConcurrentHashMap : (
; < > &java/util/concurrent/atomic/AtomicLong @
A < C G
I
writeLimit readLimit :(Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;JJJJ)V ( M
N maxTime 8(Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;JJ)V ( Q
R 7(Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;J)V ( T
U 6(Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;)V ( W
X z(Lcom/groupbyinc/flux/common/jboss/netty/util/ObjectSizeEstimator;Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;JJJ)V ( Z
[ objectSizeEstimator ALcom/groupbyinc/flux/common/jboss/netty/util/ObjectSizeEstimator; {(Lcom/groupbyinc/flux/common/jboss/netty/util/ObjectSizeEstimator;Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;JJJJ)V ( _
` y(Lcom/groupbyinc/flux/common/jboss/netty/util/ObjectSizeEstimator;Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;JJ)V ( b
c x(Lcom/groupbyinc/flux/common/jboss/netty/util/ObjectSizeEstimator;Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;J)V ( e
f w(Lcom/groupbyinc/flux/common/jboss/netty/util/ObjectSizeEstimator;Lcom/groupbyinc/flux/common/jboss/netty/util/Timer;)V ( h
i getMaxGlobalWriteSize ()J setMaxGlobalWriteSize (J)V get o l
A p getOrSetPerChannel ?(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;)Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel; Dcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext t
getChannel :()Lcom/groupbyinc/flux/common/jboss/netty/channel/Channel; v w u x java/lang/Object z hashCode ()I | }
{ ~ java/lang/Integer ? valueOf (I)Ljava/lang/Integer; ? ?
? ? "java/util/concurrent/ConcurrentMap ? &(Ljava/lang/Object;)Ljava/lang/Object; o ? ? ? Y(Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$1;)V ( ?
? java/util/LinkedList ?
? <
messagesQueue Ljava/util/List; ? ? ? ctx FLcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext; ? ? ? queueSize ? ? milliSecondFromNano ? l
" ? lastReadTimestamp ? ? lastWriteTimestamp ? ? put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ? ? ? ? key Ljava/lang/Integer;
perChannel _Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel; checkWaitReadTime K(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;JJ)J P ? wait now informReadOperation J(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;J)V submitWrite ?(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;Lcom/groupbyinc/flux/common/jboss/netty/channel/MessageEvent;JJJ)V java/lang/Exception ? r s
? java/util/List ? isEmpty ()Z ? ? ? ? 6com/groupbyinc/flux/common/jboss/netty/channel/Channel ? isConnected ? ? ? ? trafficCounter ? 4 ? bytesRealWriteFlowControl ? n
" ? sendDownstream @(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelEvent;)V ? ? u ? java/lang/Thread ? sleep ? n
? ? ?(JLcom/groupbyinc/flux/common/jboss/netty/channel/MessageEvent;JLcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$1;)V ( ?
? add (Ljava/lang/Object;)Z ? ? ? ? addAndGet (J)J ? ?
A ? checkWriteSuspend K(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;JJ)V ? ?
? setWritable J(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;Z)V ? ?
? relativeTimeAction ? ? ?(Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler;Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel;J)V ( ?
? java/util/concurrent/TimeUnit ? MILLISECONDS Ljava/util/concurrent/TimeUnit; ? ? ? ? 1com/groupbyinc/flux/common/jboss/netty/util/Timer ?
newTimeout ?(Lcom/groupbyinc/flux/common/jboss/netty/util/TimerTask;JLjava/util/concurrent/TimeUnit;)Lcom/groupbyinc/flux/common/jboss/netty/util/Timeout; ? ? ? ? evt =Lcom/groupbyinc/flux/common/jboss/netty/channel/MessageEvent; size
writedelay delay newToSend [Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$ToSend; globalSizeExceeded Z channel 8Lcom/groupbyinc/flux/common/jboss/netty/channel/Channel; futureNow forSchedule sendAllValid ?(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;Lcom/groupbyinc/flux/common/jboss/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel;J)V remove (I)Ljava/lang/Object;
? ?
toSend ? (ILjava/lang/Object;)V ? ? releaseWriteSuspended I(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;)V
channelConnected ?(Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelHandlerContext;Lcom/groupbyinc/flux/common/jboss/netty/channel/ChannelStateEvent;)V
e BLcom/groupbyinc/flux/common/jboss/netty/channel/ChannelStateEvent;
channelClosed ? ? clear" ?#
% releaseExternalResources values ()Ljava/util/Collection;() ?* java/util/Collection, iterator ()Ljava/util/Iterator;./-0 java/util/Iterator2 hasNext4 ?35 next ()Ljava/lang/Object;7839 ?0 ?# set= n
A>'
@ i$ Ljava/util/Iterator;
access$200
E x0 x1 x2 x3 Signature Code LocalVariableTable LineNumberTable
Exceptions
SourceFile InnerClasses RuntimeVisibleAnnotations ! K L h $*? ? ? "Y**? $*? '? +L*+? /+? 2? M 3 4 $ 5 6 N g h j k # m ( 7 L ? ,*+ ? 9*? ;Y? =? ?*? AY? B? D* E? H*? J? M 4 , 5 6 , , K , L , % N q
N S Y ' r + s ( M L ?
.*+ ? O*? ;Y? =? ?*? AY? B? D* E? H*? J? M > . 5 6 . . K . L . % . P N w N S " Y ) x - y ( Q L ? **+ ? S*? ;Y? =? ?*? AY? B? D* E? H*? J? M * * 5 6 * * K * L N } N S Y % ~ ) ( T L z (*+ ? V*? ;Y? =? ?*? AY? B? D* E? H*? J? M ( 5 6 ( ( % N ? N S Y # ? ' ? ( W L o '*+? Y*? ;Y? =? ?*? AY? B? D* E? H*? J? M ' 5 6 ' N ? N S Y " ? &