public interface FlowControl
Sender on each stream.| Modifier and Type | Method and Description |
|---|---|
default boolean |
hasRequiredReceivers()
Has the flow control strategy its required group of receivers to be considered connected? The
result of this feeds into the determination of if a publication is connected.
|
void |
initialize(MediaDriver.Context context,
UdpChannel udpChannel,
int initialTermId,
int termBufferLength)
Initialize the flow control strategy for a stream.
|
long |
onIdle(long timeNs,
long senderLimit,
long senderPosition,
boolean isEos)
Perform any maintenance needed by the flow control strategy and return current sender limit position.
|
long |
onStatusMessage(StatusMessageFlyweight flyweight,
InetSocketAddress receiverAddress,
long senderLimit,
int initialTermId,
int positionBitsToShift,
long timeNs)
Update the sender flow control strategy based on a status message from the receiver.
|
long onStatusMessage(StatusMessageFlyweight flyweight, InetSocketAddress receiverAddress, long senderLimit, int initialTermId, int positionBitsToShift, long timeNs)
flyweight - over the status message received.receiverAddress - of the receiver.senderLimit - the current sender position limit.initialTermId - for the term buffers.positionBitsToShift - in use for the length of each term buffer.timeNs - current time (in nanoseconds).void initialize(MediaDriver.Context context, UdpChannel udpChannel, int initialTermId, int termBufferLength)
context - to allow access to media driver configurationudpChannel - for the stream.initialTermId - at which the stream started.termBufferLength - to use as the length of each term buffer.long onIdle(long timeNs,
long senderLimit,
long senderPosition,
boolean isEos)
timeNs - current time in nanoseconds.senderLimit - for the current sender position.senderPosition - which has been sent.isEos - is this end-of-stream for the sender.default boolean hasRequiredReceivers()
Copyright © 2014-2020 Real Logic Limited. All Rights Reserved.