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.