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.Object
Class for handling flow control pinging and flow control window updates as necessary.
-
-
Field Summary
Fields Modifier and Type Field Description private int
dataSizeSincePing
private long
lastBandwidth
private long
lastPingTime
private int
lastTargetWindow
static int
MAX_BACKOFF
private static int
MAX_WINDOW_SIZE
private int
pingCount
private int
pingFrequencyMultiplier
private boolean
pinging
private AbstractNettyHandler.PingLimiter
pingLimiter
private int
pingReturn
-
Constructor Summary
Constructors Constructor Description FlowControlPinger(AbstractNettyHandler.PingLimiter pingLimiter)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
getDataSincePing()
(package private) int
getPingCount()
(package private) int
getPingReturn()
private void
incrementDataSincePing(int increase)
private boolean
isPinging()
int
maxWindow()
void
onDataRead(int dataLength, int paddingLength)
long
payload()
private void
sendPing(io.netty.channel.ChannelHandlerContext ctx)
(package private) void
setDataSizeAndSincePing(int dataSize)
private void
setDataSizeSincePing(int dataSize)
private void
setPinging(boolean pingOut)
void
updateWindow()
-
-
-
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)
-
-