fm.liveswitch.TransportCCManager Class Reference

Manages transport-wide congestion control logic including sequence numbers, timestamps, and control frame generation. More...

Public Member Functions

long getArrivalTimesBeginSequenceNumber ()
 Gets the begin sequence number for arrival times. More...
 
long getArrivalTimesEndSequenceNumber ()
 Gets the end sequence number for arrival times. More...
 
String getId ()
 Gets the Transport CC Manager Id. More...
 
int getNextOutboundTransportSequenceNumber ()
 Gets the next outbound transport-wide sequence number. More...
 
fm.liveswitch.TransportCCControlFrame getTransportCCControlFrame ()
 Gets a transport-CC control frame if needed. More...
 
fm.liveswitch.TransportCCControlFrame getTransportCCControlFrame (long systemTimestamp)
 Gets a transport-CC control frame if needed based on timing. More...
 
void setInboundTimestamp (int sequenceNumber, long systemTimestamp)
 Sets an inbound transport-wide sequence number. More...
 
 TransportCCManager (int reportInterval)
 Construct a Transport CC Manager. More...
 

Static Public Member Functions

static int getReceiveDeltaMultipleTicks ()
 Gets the delta between packets time unit reported as intervals of 250 microseconds in ticks. More...
 
static int getReferenceTimeMultipleTicks ()
 Gets the reference time unit reported as intervals of 64 ms in ticks. More...
 

Protected Member Functions

fm.liveswitch.LogContext getLogContext ()
 Gets the LogContext. More...
 

Detailed Description

Manages transport-wide congestion control logic including sequence numbers, timestamps, and control frame generation.

Constructor & Destructor Documentation

◆ TransportCCManager()

fm.liveswitch.TransportCCManager.TransportCCManager ( int  reportInterval)

Construct a Transport CC Manager.

Parameters
reportInterval

Member Function Documentation

◆ getArrivalTimesBeginSequenceNumber()

long fm.liveswitch.TransportCCManager.getArrivalTimesBeginSequenceNumber ( )

Gets the begin sequence number for arrival times.

◆ getArrivalTimesEndSequenceNumber()

long fm.liveswitch.TransportCCManager.getArrivalTimesEndSequenceNumber ( )

Gets the end sequence number for arrival times.

◆ getId()

String fm.liveswitch.TransportCCManager.getId ( )

Gets the Transport CC Manager Id.

◆ getLogContext()

fm.liveswitch.LogContext fm.liveswitch.TransportCCManager.getLogContext ( )
protected

Gets the LogContext.

◆ getNextOutboundTransportSequenceNumber()

int fm.liveswitch.TransportCCManager.getNextOutboundTransportSequenceNumber ( )

Gets the next outbound transport-wide sequence number.

Returns
The next outbound transport-wide sequence number.

◆ getReceiveDeltaMultipleTicks()

static int fm.liveswitch.TransportCCManager.getReceiveDeltaMultipleTicks ( )
static

Gets the delta between packets time unit reported as intervals of 250 microseconds in ticks.

◆ getReferenceTimeMultipleTicks()

static int fm.liveswitch.TransportCCManager.getReferenceTimeMultipleTicks ( )
static

Gets the reference time unit reported as intervals of 64 ms in ticks.

◆ getTransportCCControlFrame() [1/2]

fm.liveswitch.TransportCCControlFrame fm.liveswitch.TransportCCManager.getTransportCCControlFrame ( )

Gets a transport-CC control frame if needed.

Returns
A transport-CC control frame, or
null
.

◆ getTransportCCControlFrame() [2/2]

fm.liveswitch.TransportCCControlFrame fm.liveswitch.TransportCCManager.getTransportCCControlFrame ( long  systemTimestamp)

Gets a transport-CC control frame if needed based on timing.

Parameters
systemTimestampThe current system timestamp.
Returns
A transport-CC control frame, or
null
.

◆ setInboundTimestamp()

void fm.liveswitch.TransportCCManager.setInboundTimestamp ( int  sequenceNumber,
long  systemTimestamp 
)

Sets an inbound transport-wide sequence number.

Parameters
sequenceNumberThe inbound transport-wide sequence number.
systemTimestampThe system timestamp.