public class StaticWindowCongestionControl extends java.lang.Object implements CongestionControl
| Constructor and Description |
|---|
StaticWindowCongestionControl(long registrationId,
UdpChannel udpChannel,
int streamId,
int sessionId,
int termLength,
int senderMtuLength,
org.agrona.concurrent.NanoClock clock,
MediaDriver.Context context,
org.agrona.concurrent.status.CountersManager countersManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
int |
initialWindowLength()
Called by
DriverConductor to initialise window length for a new PublicationImage. |
void |
onRttMeasurement(long now,
long rttInNanos,
java.net.InetSocketAddress srcAddress)
Called by
Receiver on reception of an RTT Measurement. |
long |
onTrackRebuild(long now,
long newConsumptionPosition,
long lastSmPosition,
long hwmPosition,
long startingRebuildPosition,
long endingRebuildPosition,
boolean lossOccurred)
Called by
DriverConductor upon execution of PublicationImage.trackRebuild(long, long) to
pass on current status. |
boolean |
shouldMeasureRtt(long now)
Polled by
Receiver to determine when to initiate an RTT measurement to a Sender. |
public StaticWindowCongestionControl(long registrationId,
UdpChannel udpChannel,
int streamId,
int sessionId,
int termLength,
int senderMtuLength,
org.agrona.concurrent.NanoClock clock,
MediaDriver.Context context,
org.agrona.concurrent.status.CountersManager countersManager)
public void close()
close in interface CongestionControlclose in interface java.lang.AutoCloseablepublic boolean shouldMeasureRtt(long now)
CongestionControlReceiver to determine when to initiate an RTT measurement to a Sender.shouldMeasureRtt in interface CongestionControlnow - in nanosecondspublic void onRttMeasurement(long now,
long rttInNanos,
java.net.InetSocketAddress srcAddress)
CongestionControlReceiver on reception of an RTT Measurement.onRttMeasurement in interface CongestionControlnow - in nanosecondsrttInNanos - to the SendersrcAddress - of the Senderpublic long onTrackRebuild(long now,
long newConsumptionPosition,
long lastSmPosition,
long hwmPosition,
long startingRebuildPosition,
long endingRebuildPosition,
boolean lossOccurred)
CongestionControlDriverConductor upon execution of PublicationImage.trackRebuild(long, long) to
pass on current status.
The return value must be packed using CongestionControlUtil.packOutcome(int, boolean).onTrackRebuild in interface CongestionControlnow - in nanosecondsnewConsumptionPosition - of the SubscriberslastSmPosition - of the imagehwmPosition - of the imagestartingRebuildPosition - of the rebuildendingRebuildPosition - of the rebuildlossOccurred - during rebuildpublic int initialWindowLength()
CongestionControlDriverConductor to initialise window length for a new PublicationImage.initialWindowLength in interface CongestionControlCopyright © 2014-2017 Real Logic Ltd. All Rights Reserved.