7  0net/luminis/quic/cc/AbstractCongestionControllerT(Lnet/luminis/quic/log/Logger;Lnet/luminis/quic/cc/CongestionControlEventListener;)V   /net/luminis/quic/cc/NewRenoCongestionControllerkLossReductionFactorI   kMinimumWindow   kMaxDatagramSizejava/lang/Long  slowStartThresholdJ   java/time/InstantMINLjava/time/Instant; " # congestionRecoveryStartTime % &'registerInFlight'(Lnet/luminis/quic/packet/QuicPacket;)V ) *+logLnet/luminis/quic/log/Logger; -./ 01net/luminis/quic/log/LoggergetQLog()Lnet/luminis/quic/qlog/QLog; 3 4congestionWindow 6 7 bytesInFlight 9:; <=net/luminis/quic/qlog/QLogemitCongestionControlMetrics(JJ)V ? @A registerAcked(Ljava/util/List;)V CDE FGjava/util/Liststream()Ljava/util/stream/Stream;I JKtestQ(Lnet/luminis/quic/cc/NewRenoCongestionController;)Ljava/util/function/Predicate; MNO PQjava/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;S TUapply()Ljava/util/function/Function; MW XYmap8(Ljava/util/function/Function;)Ljava/util/stream/Stream;[ \]acceptP(Lnet/luminis/quic/cc/NewRenoCongestionController;)Ljava/util/function/Consumer; M_ `aforEach (Ljava/util/function/Consumer;)V c degetMode8()Lnet/luminis/quic/cc/NewRenoCongestionController$Mode;g himakeConcatWithConstantsL(JLnet/luminis/quic/cc/NewRenoCongestionController$Mode;J)Ljava/lang/String; -k lmcc(Ljava/lang/String;)V o pA registerLost Cr stisEmpty()Zv wxcompare()Ljava/util/Comparator; Mz {|max,(Ljava/util/Comparator;)Ljava/util/Optional; ~ java/util/Optionalget()Ljava/lang/Object;"net/luminis/quic/packet/PacketInfo timeSent()Ljava/time/Instant;  fireCongestionEvent(Ljava/time/Instant;)V  isAfter(Ljava/time/Instant;)Z  now h(JJ)Ljava/lang/String;  4net/luminis/quic/cc/NewRenoCongestionController$Mode SlowStart6Lnet/luminis/quic/cc/NewRenoCongestionController$Mode; CongestionAvoidance packet&()Lnet/luminis/quic/packet/QuicPacket;  "net/luminis/quic/packet/QuicPacketgetPacketNumber()Ljava/lang/Long;   compareTo(Ljava/lang/Long;)I getSize()I(net/luminis/quic/cc/CongestionControllerCodeLineNumberTableLocalVariableTablethis1Lnet/luminis/quic/cc/NewRenoCongestionController;logger eventListener4Lnet/luminis/quic/cc/CongestionControlEventListener; sentPacket$Lnet/luminis/quic/packet/QuicPacket; previousCwndacknowlegdedPacketsLjava/util/List;epsilon cwndLimitedZbytesInFlightBeforenotBeforeRecoveryLjava/util/stream/Stream;LocalVariableTypeTable7Ljava/util/List<+Lnet/luminis/quic/packet/PacketInfo;>;?Ljava/util/stream/Stream; StackMapTable Signature:(Ljava/util/List<+Lnet/luminis/quic/packet/PacketInfo;>;)Vlargest$Lnet/luminis/quic/packet/PacketInfo; lostPacketslambda$registerLost$3K(Lnet/luminis/quic/packet/PacketInfo;Lnet/luminis/quic/packet/PacketInfo;)Ip1p2lambda$registerAcked$2plambda$registerAcked$1J(Lnet/luminis/quic/packet/PacketInfo;)Lnet/luminis/quic/packet/QuicPacket; ackedPacketlambda$registerAcked$0'(Lnet/luminis/quic/packet/PacketInfo;)Z SourceFile NewRenoCongestionController.java NestMembersBootstrapMethods  "java/lang/invoke/LambdaMetafactory metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;(Ljava/lang/Object;)Z  &(Ljava/lang/Object;)Ljava/lang/Object;  (Ljava/lang/Object;)V  ''  h$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;Cwnd(+):  (); inflight: '(Ljava/lang/Object;Ljava/lang/Object;)I  Cwnd(-): ; inflight:  InnerClassesMode %java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandlesLookup!   # ~(*+,** ` ***!4( ,.0 5'6 ((+(!&'X*+$*(,*2*58:;<!@A[ =*2*5e>*57*+>+B*HLRV:8*27*Z^*2*(*2*bfj*(,*2*58:@ACD"H.I8J?OCPIQVZ`[xabHI/ xr?P?P@aMpAD*+n+q"+Buy}M*,*(,*2*58fhi%j-lCm %DD D-U+*!L*!*Y2*m2*2* ** 2*(*2*5j**2"p qr s-t6vLwTyUU 6deO*2*| }  F*+i'6*2**Y2+a2*Y2*+h*2ma2R TW5Y66 /*J @ +*!I 6 @