Package io.grpc.netty
Class AbstractNettyHandler.FlowControlPinger
- java.lang.Object
-
- io.grpc.netty.AbstractNettyHandler.FlowControlPinger
-
- Enclosing class:
- AbstractNettyHandler
final class AbstractNettyHandler.FlowControlPinger extends java.lang.ObjectClass for handling flow control pinging and flow control window updates as necessary.
-
-
Field Summary
Fields Modifier and Type Field Description private intdataSizeSincePingprivate longlastBandwidthprivate longlastPingTimeprivate intlastTargetWindowstatic intMAX_BACKOFFprivate static intMAX_WINDOW_SIZEprivate intpingCountprivate intpingFrequencyMultiplierprivate booleanpingingprivate AbstractNettyHandler.PingLimiterpingLimiterprivate intpingReturn
-
Constructor Summary
Constructors Constructor Description FlowControlPinger(AbstractNettyHandler.PingLimiter pingLimiter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) intgetDataSincePing()(package private) intgetPingCount()(package private) intgetPingReturn()private voidincrementDataSincePing(int increase)private booleanisPinging()intmaxWindow()voidonDataRead(int dataLength, int paddingLength)longpayload()private voidsendPing(io.netty.channel.ChannelHandlerContext ctx)(package private) voidsetDataSizeAndSincePing(int dataSize)private voidsetDataSizeSincePing(int dataSize)private voidsetPinging(boolean pingOut)voidupdateWindow()
-
-
-
Field Detail
-
MAX_WINDOW_SIZE
private static final int MAX_WINDOW_SIZE
- See Also:
- Constant Field Values
-
MAX_BACKOFF
public static final int MAX_BACKOFF
- See Also:
- Constant Field Values
-
pingLimiter
private final AbstractNettyHandler.PingLimiter pingLimiter
-
pingCount
private int pingCount
-
pingReturn
private int pingReturn
-
pinging
private boolean pinging
-
dataSizeSincePing
private int dataSizeSincePing
-
lastBandwidth
private long lastBandwidth
-
lastPingTime
private long lastPingTime
-
lastTargetWindow
private int lastTargetWindow
-
pingFrequencyMultiplier
private int pingFrequencyMultiplier
-
-
Constructor Detail
-
FlowControlPinger
public FlowControlPinger(AbstractNettyHandler.PingLimiter pingLimiter)
-
-
Method Detail
-
payload
public long payload()
-
maxWindow
public int maxWindow()
-
onDataRead
public void onDataRead(int dataLength, int paddingLength)
-
updateWindow
public void updateWindow() throws io.netty.handler.codec.http2.Http2Exception- Throws:
io.netty.handler.codec.http2.Http2Exception
-
isPinging
private boolean isPinging()
-
setPinging
private void setPinging(boolean pingOut)
-
sendPing
private void sendPing(io.netty.channel.ChannelHandlerContext ctx)
-
incrementDataSincePing
private void incrementDataSincePing(int increase)
-
getPingCount
int getPingCount()
-
getPingReturn
int getPingReturn()
-
getDataSincePing
int getDataSincePing()
-
setDataSizeSincePing
private void setDataSizeSincePing(int dataSize)
-
setDataSizeAndSincePing
void setDataSizeAndSincePing(int dataSize)
-
-