APIdia Launch Partner
Top Methods
jdk.internal.net.http.quic

public Interface QuicCongestionController

Known Direct Implementers
jdk.internal.net.http.quic.QuicBaseCongestionController
Imports
jdk.internal.net.http.common.Deadline, jdk.internal.net.http.quic.packets.QuicPacket, java.util.Collection

Method Summary

Modifier and TypeMethod and Description
public void
appLimited()

Notify the congestion controller that sending is app-limited

public boolean

Returns:

true if a new non-ACK packet can be sent at this time
canSendPacket
()

Returns true if a new non-ACK packet can be sent at this time.

public long

Returns:

the current size of the congestion window in bytes
congestionWindow
()

Returns the current size of the congestion window in bytes.

public long

Returns:

the initial window size in bytes
initialWindow
()

Returns the initial window size in bytes.

public boolean

Returns:

true if sending is blocked by congestion window
isCwndLimited
()

Returns true if sending is blocked by congestion window.

public boolean

Returns:

true if sending is blocked by pacer
isPacerLimited
()

Returns true if sending is blocked by pacer.

public boolean

Returns:

true if the connection is in slow start phase
isSlowStart
()

Returns true if the connection is in slow start phase.

public long

Returns:

maximum datagram size
maxDatagramSize
()

Returns maximum datagram size.

public Deadline

Returns:

deadline when pacer will unblock sending
pacerDeadline
()

Returns deadline when pacer will unblock sending.

public void
packetAcked(int
acked packet size in bytes
packetBytes
,
Deadline
time when packet was sent
sentTime
)

Update CC after a non-ACK packet is acked

public void
packetDiscarded(Collection<QuicPacket>
collection of discarded packets
discardedPackets
)

Update CC after packets are discarded

public void
packetLost(Collection<QuicPacket>
collection of lost packets
lostPackets
,
Deadline
time when the most recent lost packet was sent
sentTime
,
boolean
true if persistent congestion detected, false otherwise
persistent
)

Update CC after packets are declared lost

public void
packetSent(int
packet size in bytes
packetBytes
)

Update CC with a non-ACK packet

public void
updateMaxDatagramSize(int
new maximum datagram size.
newSize
)

Update the maximum datagram size

public void
updatePacer(Deadline
the current time
now
)

Update the pacer with the current time

Method Detail

appLimitedback to summary
public void appLimited()

Notify the congestion controller that sending is app-limited

canSendPacketback to summary
public boolean canSendPacket()

Returns true if a new non-ACK packet can be sent at this time.

Returns:boolean

true if a new non-ACK packet can be sent at this time

congestionWindowback to summary
public long congestionWindow()

Returns the current size of the congestion window in bytes.

Returns:long

the current size of the congestion window in bytes

initialWindowback to summary
public long initialWindow()

Returns the initial window size in bytes.

Returns:long

the initial window size in bytes

isCwndLimitedback to summary
public boolean isCwndLimited()

Returns true if sending is blocked by congestion window.

Returns:boolean

true if sending is blocked by congestion window

isPacerLimitedback to summary
public boolean isPacerLimited()

Returns true if sending is blocked by pacer.

Returns:boolean

true if sending is blocked by pacer

isSlowStartback to summary
public boolean isSlowStart()

Returns true if the connection is in slow start phase.

Returns:boolean

true if the connection is in slow start phase

maxDatagramSizeback to summary
public long maxDatagramSize()

Returns maximum datagram size.

Returns:long

maximum datagram size

pacerDeadlineback to summary
public Deadline pacerDeadline()

Returns deadline when pacer will unblock sending.

Returns:Deadline

deadline when pacer will unblock sending

packetAckedback to summary
public void packetAcked(int packetBytes, Deadline sentTime)

Update CC after a non-ACK packet is acked

Parameters
packetBytes:int

acked packet size in bytes

sentTime:Deadline

time when packet was sent

packetDiscardedback to summary
public void packetDiscarded(Collection<QuicPacket> discardedPackets)

Update CC after packets are discarded

Parameters
discardedPackets:Collection<QuicPacket>

collection of discarded packets

packetLostback to summary
public void packetLost(Collection<QuicPacket> lostPackets, Deadline sentTime, boolean persistent)

Update CC after packets are declared lost

Parameters
lostPackets:Collection<QuicPacket>

collection of lost packets

sentTime:Deadline

time when the most recent lost packet was sent

persistent:boolean

true if persistent congestion detected, false otherwise

packetSentback to summary
public void packetSent(int packetBytes)

Update CC with a non-ACK packet

Parameters
packetBytes:int

packet size in bytes

updateMaxDatagramSizeback to summary
public void updateMaxDatagramSize(int newSize)

Update the maximum datagram size

Parameters
newSize:int

new maximum datagram size.

updatePacerback to summary
public void updatePacer(Deadline now)

Update the pacer with the current time

Parameters
now:Deadline

the current time