classes.io.netty.handler.traffic.GlobalTrafficShapingHandler.class Maven / Gradle / Ivy
???? 2Z
N ? ? c
? ? ? N ?
?
N ?
?
O ?
? ? N ? ?
? N ? N ?
N ?
O ?
O ?
O ?
O ?
? N ?
? ? ?
? ?
? ? ? ? ?
? ?
" ? ? ?
? ? ? ? ?
N ?
O ? ? ? ? ?
" ? ? ? ? ? ? 1 ?
N ?
?
? 1 ? ? ? ?
8 ?
" ?
N ?
N ?
O ? N ?
" ?
1 ?
" ?
N ?
N ? 1 ? ? ? ?
F
" 1
" ?
ToSend InnerClasses
PerChannel
channelQueues $Ljava/util/concurrent/ConcurrentMap; Signature zLjava/util/concurrent/ConcurrentMap;
queuesSize (Ljava/util/concurrent/atomic/AtomicLong; maxGlobalWriteSize J createGlobalTrafficCounter 2(Ljava/util/concurrent/ScheduledExecutorService;)V Code LineNumberTable LocalVariableTable this 6Lio/netty/handler/traffic/GlobalTrafficShapingHandler; executor /Ljava/util/concurrent/ScheduledExecutorService; tc )Lio/netty/handler/traffic/TrafficCounter;
StackMapTable 6(Ljava/util/concurrent/ScheduledExecutorService;JJJJ)V
writeLimit readLimit
checkInterval maxTime 5(Ljava/util/concurrent/ScheduledExecutorService;JJJ)V 4(Ljava/util/concurrent/ScheduledExecutorService;JJ)V 3(Ljava/util/concurrent/ScheduledExecutorService;J)V +(Lio/netty/util/concurrent/EventExecutor;)V (Lio/netty/util/concurrent/EventExecutor; getMaxGlobalWriteSize ()J setMaxGlobalWriteSize (J)V release ()V getOrSetPerChannel k(Lio/netty/channel/ChannelHandlerContext;)Lio/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel; ctx (Lio/netty/channel/ChannelHandlerContext; channel Lio/netty/channel/Channel; key Ljava/lang/Integer;
perChannel ALio/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel; ? handlerAdded +(Lio/netty/channel/ChannelHandlerContext;)V
Exceptions
handlerRemoved size toSend =Lio/netty/handler/traffic/GlobalTrafficShapingHandler$ToSend; i$ Ljava/util/Iterator; checkWaitReadTime -(Lio/netty/channel/ChannelHandlerContext;JJ)J wait now informReadOperation ,(Lio/netty/channel/ChannelHandlerContext;J)V submitWrite a(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;JJJLio/netty/channel/ChannelPromise;)V newToSend msg Ljava/lang/Object;
writedelay promise !Lio/netty/channel/ChannelPromise; delay globalSizeExceeded Z futureNow forSchedule ? sendAllValid m(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel;J)V
access$200 ?(Lio/netty/handler/traffic/GlobalTrafficShapingHandler;Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel;J)V x0 x1 x2 x3
SourceFile GlobalTrafficShapingHandler.java RuntimeVisibleAnnotations Sharable *Lio/netty/channel/ChannelHandler$Sharable; ? ? java/lang/NullPointerException h 'io/netty/handler/traffic/TrafficCounter GlobalTC l [ h x h T U &java/util/concurrent/atomic/AtomicLong h x X Y Z [ \ ] h h h v t! f" x }#$%&'( ) ?io/netty/handler/traffic/GlobalTrafficShapingHandler$PerChannel h* java/util/ArrayDeque+,- [. t/ [0 [12 y z ? ?3)4567859: ;io/netty/handler/traffic/GlobalTrafficShapingHandler$ToSend ? ?;<= v>? ? ?@A io/netty/buffer/ByteBuf w5B xC ?D ? ? ? m [E5 hFGHIJKLM [ cN 6io/netty/handler/traffic/GlobalTrafficShapingHandler$1 h ?OPQRSTU: ? [VHWX 4io/netty/handler/traffic/GlobalTrafficShapingHandler 6io/netty/handler/traffic/AbstractTrafficShapingHandler io/netty/channel/Channel java/lang/Integer java/lang/Exception &io/netty/channel/ChannelHandlerContext java/lang/Object java/util/Iterator java/lang/Throwable io/netty/channel/ChannelPromiseY (io/netty/channel/ChannelHandler$Sharable (Ljava/lang/String;)V }(Lio/netty/handler/traffic/AbstractTrafficShapingHandler;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/String;J)V setTrafficCounter ,(Lio/netty/handler/traffic/TrafficCounter;)V start (JJJJ)V (io/netty/util/internal/PlatformDependent newConcurrentHashMap &()Ljava/util/concurrent/ConcurrentMap; (JJJ)V (JJ)V get trafficCounter stop ()Lio/netty/channel/Channel; hashCode ()I valueOf (I)Ljava/lang/Integer; "java/util/concurrent/ConcurrentMap &(Ljava/lang/Object;)Ljava/lang/Object; ;(Lio/netty/handler/traffic/GlobalTrafficShapingHandler$1;)V
messagesQueue Ljava/util/ArrayDeque; queueSize milliSecondFromNano lastReadTimestamp lastWriteTimestamp put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; remove isActive ()Z iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object;
calculateSize (Ljava/lang/Object;)J bytesRealWriteFlowControl addAndGet (J)J write U(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture; clear releaseWriteSuspended releaseReadSuspended isEmpty p(JLjava/lang/Object;JLio/netty/channel/ChannelPromise;Lio/netty/handler/traffic/GlobalTrafficShapingHandler$1;)V addLast (Ljava/lang/Object;)V checkWriteSuspend -(Lio/netty/channel/ChannelHandlerContext;JJ)V setUserDefinedWritability ,(Lio/netty/channel/ChannelHandlerContext;Z)V relativeTimeAction *()Lio/netty/util/concurrent/EventExecutor; java/util/concurrent/TimeUnit MILLISECONDS Ljava/util/concurrent/TimeUnit; &io/netty/util/concurrent/EventExecutor schedule `(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture; pollFirst addFirst flush *()Lio/netty/channel/ChannelHandlerContext; io/netty/channel/ChannelHandler ! N O T U V W X Y Z [ \ ] ^ ? (+?
? Y? ?? Y*+*? ? M*,? ,?
? _ j k m n # o ' p ` ( a b ( c d
e f g h i ^ ?
** ? *? ?
*? Y? ? * ? *+? ? _ ? R W ] $ ? ) ? ` > * a b * c d * j [ * k [ * l [ * m [ h n ^ ? (* ? *? ?
*? Y? ? * ? *+? ? _ ? R W ] " ? ' ? ` 4 ( a b ( c d ( j [ ( k [ ( l [ h o ^ ? &* ? *? ?
*? Y? ? * ? *+? ? _ ? R W ] ? % ? ` * &