Class Configuration
MediaDriver
.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Property name to configure the number of async executor threads.static final Executor
Executor
that run tasks on the caller thread.static final long
Default timeout for client liveness timeout after which it is considered not alive.static final String
Property name forAeron
client liveness timeout after which it is considered not alive.static final int
Capacity for the command queues used between driver agents.static final int
Limit for the number of commands drained in one operation.static final int
Default buffer length for conductor buffers between the client and the media driver conductor.static final String
Length (in bytes) of the conductor buffer for control commands from the clients to the media driver conductor.static final long
Default threshold value for the conductor work cycle threshold to track for being exceeded.static final String
Property name for threshold value for the conductor work cycle threshold to track for being exceeded.static final String
Default idle strategy for the conductor thread.static final String
Property name forIdleStrategy
to be employed byDriverConductor
forThreadingMode.DEDICATED
andThreadingMode.SHARED_NETWORK
.static final String
Property name forCongestionControlSupplier
to be employed for receivers.static final String
IdleStrategy
to be used when mode can be controlled via a counter.static final String
Timeout between a counter being freed and being available to be reused.static final int
Default length of the buffer for the counters file.static final int
Maximum length of the buffer for the counters file.static final String
Property name for length of the buffer for the counters.static final long
Default timeout between a counter being freed and being available to be reused.static final long
Default interval between checks for timers and timeouts.static final String
Should driver attempt to deleteCommonContext.AERON_DIR_PROP_NAME
on shutdown.static final String
Should the Media Driver attempt to immediately delete the directoryCommonContext.AERON_DIR_PROP_NAME
on start if it exists before performing any additional checks.static final String
Warn if the Aeron directory exists.static final int
Default buffer length for the error buffer for the media driver.static final String
Property name for length of the memory mapped buffer for the distinct error log.static final int
Default page size for alignment of all files.static final String
Property name for page size to align all files to.static final String
Property name for default minimum group size used by flow control strategies to determine connectivity.static final String
Property name for default group tag (gtag) used by the tagged flow control strategy to group receivers.static final long
Default value for the receiver timeout used to determine if the receiver should still be monitored for flow control purposes.static final String
Property name for flow control timeout after which with no status messages the receiver is considered gone.static final String
Property name for default boolean value for if subscriptions should be considered a group member or individual.static final long
Maximum back-off park time which doubles on each interval stepping up from the min park idle.static final long
Spin on no activity before backing off to yielding.static final long
Yield the thread so others can run before backing off to parking.static final long
Park for the minimum period of time which is typically 50-55 microseconds on 64-bit non-virtualised Linux.static final long
Default timeout forImage
liveness timeout.static final String
Image
liveness timeout for how long it stays active without heartbeats or lingers around after being drained.static final int
Default initial window length for flow control sender to receiver purposes.static final String
Property name for length of the initial window which must be sufficient for Bandwidth Delay Product (BDP).static final int
static final String
Length of the maximum transmission unit of the media driver's protocol for IPC.static final String
Property name for window limit for IPC publications.static final String
Length (in bytes) of the log buffers for IPC publication terms.static final int
Default buffer length for theLossReport
.static final String
Property name for length of the memory mapped buffer for theLossReport
.static final long
Default value in bytes for low file storage warning threshold.static final String
Property name low file storage warning threshold in bytes.static final int
Default max number of active retransmissions per connected stream udp stream with group semantics.static final int
Maximum value for the active retransmissions per connected stream udp stream with group semantics.static final String
Property name of the max number of active retransmissions tracked for udp streams with group semantics.static final int
Maximum UDP datagram payload size for IPv4.static final int
The default is conservative to avoid fragmentation on IPv4 or IPv6 over Ethernet with PPPoE header, or for clouds such as Google, Azure, and AWS.static final String
Length of the maximum transmission unit of the media driver's protocol.static final String
FlowControl
to be employed for multicast channels.static final String
static final String
Property name forFlowControl
to be employed for multicast channels.static final String
Property name forFlowControlSupplier
to be employed for unicast channels.static final long
Default max backoff for NAK delay randomisation in nanoseconds.static final int
Default multicast receiver group size estimate for NAK delay randomisation.static final String
Expected size of multicast receiver groups property name.static final String
Max backoff time for multicast NAK delay randomisation in nanoseconds.static final long
Default Unicast NAK delay in nanoseconds.static final String
Unicast NAK delay in nanoseconds property name.static final long
Default Unicast NAK retry delay ratio.static final String
Unicast NAK retry delay ratio property name.static final long
Default threshold value for the name resolution threshold to track for being exceeded.static final String
Property name for threshold value for the name resolution threshold to track for being exceeded.static final long
Timeout on cleaning up pending SETUP message state on subscriber.static final String
Property name for boolean value for if storage checks should be performed when allocating files.static final long
Timeout forPublication
connection timeout in nanoseconds.static final String
Property name forPublication
timeout due to lack of status messages which indicate a connection.static final long
Timeout between heartbeats for publications.static final long
Default time forPublication
s to linger after draining and before cleanup in nanoseconds.static final String
Property name for linger timeout after draining onPublication
s so they can respond to NAKs.static final int
High-end of the publication reserved session-id range which will not be automatically assigned.static final String
High-end of the publication reserved session-id range which will not be automatically assigned.static final int
Low-end of the publication reserved session-id range which will not be automatically assigned.static final String
Property name for low end of the publication reserved session-id range which will not be automatically assigned.static final long
Timeout between SETUP messages for publications during initial setup phase.static final String
Property name for window limit onPublication
side by which the publisher can get ahead of consumers.static final long
Timeout forPublication
unblock in nanoseconds.static final String
Publication
unblock timeout due to client crash or untimely commit.static final long
Default value for the re-resolution check interval.static final String
Property name for re-resolution check interval for resolving names to IP address.static final String
Property name forReceiveChannelEndpointSupplier
.static final long
Default threshold value for the receiver work cycle threshold to track for being exceeded.static final String
Property name for threshold value for the receiver work cycle threshold to track for being exceeded.static final String
Property name for default group tag (gtag) to send in all Status Messages.static final String
Default idle strategy for the receiver thread.static final String
static final String
Property name for wildcard port range for the Receiver.static final String
Property name for default boolean value for if a stream can be rejoined.static final String
Property name for default boolean value for if a stream is reliable.static final String
Property name for resolver bootstrap neighbors for which it can bootstrap naming, format is comma separated list ofhostname:port
pairs.static final String
Property name for resolver interface to which network connections are made.static final String
Property name for resolver name of the Media Driver used in name resolution.static final int
Default value for the limit of the number of driver managed resources that can be freed in a single duty cycle.static final String
Property name for the limit of the number of driver managed resources that can be freed in a single duty cycle.static final long
Default delay before retransmission of data for unicast in nanoseconds.static final String
Property for setting how long to delay before sending a retransmit after receiving a NAK.static final long
Default delay for linger for unicast in nanoseconds.static final String
Property for setting how long to linger after delay on a NAK before responding to another NAK.static final String
Property name forSendChannelEndpointSupplier
.static final int
The ratio for sending data to polling status messages in the Sender.static final String
Property name for ratio of sending data to polling status messages in theSender
.static final long
Default threshold value for the sender work cycle threshold to track for being exceeded.static final String
Property name for threshold value for the sender work cycle threshold to track for being exceeded.static final String
Default idle strategy for the sender thread.static final String
static final String
Property name for wildcard port range for the Sender.static final String
Default idle strategy for the shared thread.static final String
Property name forIdleStrategy
to be employed bySender
,Receiver
, andDriverConductor
forThreadingMode.SHARED
.static final String
Default idle strategy for the shared network thread.static final String
Property name forIdleStrategy
to be employed bySender
andReceiver
forThreadingMode.SHARED_NETWORK
.static final String
Deprecated.static final int
Multicast TTL value, 0 means use OS default.static final String
Property name for IP_MULTICAST_TTL setting on UDP sockets.static final int
Default SO_RCVBUF length.static final String
Property name for SO_RCVBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).static final int
Default SO_SNDBUF length.static final String
Property name for SO_SNDBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).static final String
Property name for if spy subscriptions simulate a connection to a network publication.static final long
Max timeout between Status messages (SM)s.static final String
Status message timeout in nanoseconds after which one will be sent when data flow has not triggered one.static final int
Default number of sessions allowed per stream on a subscription.static final String
Property name to set a limit on the number sessions allowed per stream on a subscription.static final int
Default IPC term buffer length.static final int
Default term buffer length.static final String
Length (in bytes) of the log buffers for UDP publication terms.static final String
Property name for boolean value of term buffers should be created sparse.static final String
Property name for the class used to validate if a driver should terminate based on token.static final String
Property name for default boolean value for if subscriptions should have a tether for local flow control.static final String
ThreadingMode
to be used by the AeronMediaDriver
.static final String
Interval between checks for timers and timeouts.static final int
Default buffer length for broadcast buffers from the media driver and the clients.static final String
Length (in bytes) of the broadcast buffers from the media driver to the clients.static final String
FlowControl
to be employed for unicast channels.static final String
static final String
Property name forFlowControl
to be employed for unicast channels.static final String
Property name forFlowControlSupplier
to be employed for unicast channels.static final long
Default timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.static final String
Property name of the timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.static final long
Default timeout for when an untethered subscription that is outside the window limit will participate in local flow control.static final String
Property name of the timeout for when an untethered subscription that is outside the window limit will participate in local flow control.static final String
Should high resolution timer be used on Windows. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic IdleStrategy
agentIdleStrategy
(String strategyName, StatusIndicator controllableStatus) Get theIdleStrategy
that should be applied toAgent
s.static byte[]
Deprecated.static int
Number of async executor threads.static long
Aeron
client liveness timeout after which it is considered not alive.static int
Length (in bytes) of the conductor buffer for control commands from the clients to the media driver conductor.static long
Get threshold value for the conductor work cycle threshold to track for being exceeded.static IdleStrategy
conductorIdleStrategy
(StatusIndicator controllableStatus) IdleStrategy
to be employed byDriverConductor
forThreadingMode.DEDICATED
andThreadingMode.SHARED_NETWORK
.static CongestionControlSupplier
Get the supplier ofCongestionControl
implementations which can be used for receivers.static long
Timeout between a counter being freed and being available to be reused.static int
countersMetadataBufferLength
(int counterValuesBufferLength) Compute the length of theCountersManager
metadata buffer based on the length of the counters value buffer length.static int
Length of the buffer for the counters.static boolean
Should driver attempt to deleteCommonContext.AERON_DIR_PROP_NAME
on shutdown.static boolean
Should driver attempt to an immediate forced delete ofCommonContext.AERON_DIR_PROP_NAME
on start if it exists.static int
Length of the memory mapped buffer for the distinct error log.static int
Page size in bytes to align all files to.static int
Default minimum group size used by flow control strategies to determine connectivity.static long
Default group tag (gtag) used by the tagged flow control strategy to group receivers.static long
Flow control timeout after which with no status messages the receiver is considered gone.static Long
groupTag()
Default group tag (gtag) to send in all Status Messages.static long
Image
liveness timeout for how long it stays active without heartbeats or lingers around after being drained.static int
Length of the initial window which must be sufficient for Bandwidth Delay Product (BDP).static int
Length of the maximum transmission unit of the media driver's protocol for IPC.static int
The window limit on IPCPublication
side by which the publisher can get ahead of consumers.static int
Length (in bytes) of the log buffers for IPC publication terms.static int
Length of the memory mapped buffer for theLossReport
.static long
Low file storage warning threshold in bytes for when performing storage checks.static int
Max number of active retransmissions tracked for udp streams with group semantics.static int
Length of the maximum transmission unit of the media driver's protocol.static FlowControlSupplier
Get the supplier ofFlowControl
s which can be used for changing behavior of flow control for multicast publications.static int
Expected size of typical multicast receiver groups.static long
Max backoff time for multicast NAK delay randomisation in nanoseconds.static long
Unicast NAK delay in nanoseconds.static long
Unicast NAK retry delay ratio.static long
Get threshold value for the name resolution time threshold to track for being exceeded.static boolean
Should storage checks should be performed before allocating files.static int
producerWindowLength
(int termBufferLength, int defaultTermWindowLength) How far ahead a producer can get from a consumer position.static long
Publication
timeout due to lack of status messages which indicate a connection.static long
Linger timeout after draining onPublication
s so they can respond to NAKs.static int
High-end of the publication reserved session-id range which will not be automatically assigned.static int
Low-end of the publication reserved session-id range which will not be automatically assigned.static int
The window limit on UDPPublication
side by which the publisher can get ahead of consumers.static long
Publication
unblock timeout due to client crash or untimely commit.Get the supplier ofReceiveChannelEndpoint
s which can be used for debugging, monitoring, or modifying the behaviour when receiving from the channel.static long
Get threshold value for the receiver work cycle threshold to track for being exceeded.Should subscriptions should be considered a group member or individual connection, e.g.static IdleStrategy
receiverIdleStrategy
(StatusIndicator controllableStatus) static String
Get wildcard port range in use for the Receiver.static int
receiverWindowLength
(int termBufferLength, int initialWindowLength) Length to be used for the receiver window taking into account initial window length and term buffer length.static boolean
Default boolean value for if a stream can be rejoined.static boolean
Default boolean value for if a stream is reliable.static long
Re-resolution check interval for resolving names to IP address when they may have changed.static String
Resolver bootstrap neighbor for which it can bootstrap naming, format is hostname:port.static String
Property name for resolver interface to which network connections are made, format is hostname:port.static String
Resolver name of the Media Driver used in name resolution.static int
Limit the number of driver managed resources that can be freed in the same duty cycle.static long
Setting how long to delay before sending a retransmit after receiving a NAK.static long
Setting how long to linger after delay on a NAK before responding to another NAK.static SendChannelEndpointSupplier
Get the supplier ofSendChannelEndpoint
s which can be used for debugging, monitoring, or modifying the behaviour when sending to the channel.static long
Get threshold value for the sender work cycle threshold to track for being exceeded.static IdleStrategy
senderIdleStrategy
(StatusIndicator controllableStatus) static String
Get wildcard port range in use for the Sender.static int
Ratio of sending data to polling status messages in theSender
.static IdleStrategy
sharedIdleStrategy
(StatusIndicator controllableStatus) static IdleStrategy
sharedNetworkIdleStrategy
(StatusIndicator controllableStatus) static int
IP_MULTICAST_TTL setting on UDP sockets.static int
SO_RCVBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).static int
SO_SNDBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).static String
sourceIdentity
(InetSocketAddress srcAddress) Create a source identity for a given source address.static boolean
Should spy subscriptions simulate a connection to a network publication.static long
Status message timeout in nanoseconds after which one will be sent when data flow has not triggered one.static int
Get the configured limit for the number of streams per session.static int
Length (in bytes) of the log buffers for UDP publication terms.static boolean
Should term buffers be created as sparse files.static TerminationValidator
Get theTerminationValidator
implementations which can be used for validating a termination request sent to the driver to ensure the client has the right to terminate a driver.static boolean
Default for if subscriptions should be tethered.static ThreadingMode
ThreadingMode
to be used by the AeronMediaDriver
.static long
Interval between checks for timers and timeouts.static int
Length (in bytes) of the broadcast buffers from the media driver to the clients.static FlowControlSupplier
Get the supplier ofFlowControl
s which can be used for changing behavior of flow control for unicast publications.static long
The timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.static long
The timeout for when an untethered subscription that is outside the window limit will participate in local flow control.static boolean
Should the high-resolution timer be used when running on Windows.static void
validateInitialWindowLength
(int initialWindowLength, int mtuLength) Validate that the initial window length is greater than MTU.static void
validateMtuLength
(int mtuLength) Validate that the MTU is an appropriate length.static void
validatePageSize
(int pageSize) Validate that page size is valid and alignment is valid.static void
validateSessionIdRange
(int low, int high) Validate the range of session ids based on a high and low value provided which accounts for the values wrapping.static void
Validate that the socket buffer lengths are sufficient for the media driver configuration.static void
validateUnblockTimeout
(long publicationUnblockTimeoutNs, long clientLivenessTimeoutNs, long timerIntervalNs) Validate that the timeouts for unblocking publications from a client are valid.static void
validateUntetheredTimeouts
(long untetheredWindowLimitTimeoutNs, long untetheredRestingTimeoutNs, long timerIntervalNs) Validate that the timeouts for untethered subscriptions are greater than timer interval.static boolean
Should a warning be printed if the aeron directory exist when starting.
-
Field Details
-
DIR_WARN_IF_EXISTS_PROP_NAME
Warn if the Aeron directory exists.- See Also:
-
DIR_DELETE_ON_START_PROP_NAME
Should the Media Driver attempt to immediately delete the directoryCommonContext.AERON_DIR_PROP_NAME
on start if it exists before performing any additional checks.- See Also:
-
DIR_DELETE_ON_SHUTDOWN_PROP_NAME
Should driver attempt to deleteCommonContext.AERON_DIR_PROP_NAME
on shutdown.- See Also:
-
USE_WINDOWS_HIGH_RES_TIMER_PROP_NAME
Should high resolution timer be used on Windows.- See Also:
-
TETHER_SUBSCRIPTIONS_PROP_NAME
Property name for default boolean value for if subscriptions should have a tether for local flow control.- See Also:
-
RELIABLE_STREAM_PROP_NAME
Property name for default boolean value for if a stream is reliable. True to NAK, false to gap fill.- See Also:
-
TERM_BUFFER_SPARSE_FILE_PROP_NAME
Property name for boolean value of term buffers should be created sparse.- See Also:
-
GROUP_RECEIVER_CONSIDERATION_PROP_NAME
Property name for default boolean value for if subscriptions should be considered a group member or individual.- See Also:
-
FILE_PAGE_SIZE_PROP_NAME
Property name for page size to align all files to.- See Also:
-
FILE_PAGE_SIZE_DEFAULT
public static final int FILE_PAGE_SIZE_DEFAULTDefault page size for alignment of all files.- See Also:
-
PERFORM_STORAGE_CHECKS_PROP_NAME
Property name for boolean value for if storage checks should be performed when allocating files.- See Also:
-
TERM_BUFFER_LENGTH_PROP_NAME
Length (in bytes) of the log buffers for UDP publication terms.- See Also:
-
TERM_BUFFER_LENGTH_DEFAULT
public static final int TERM_BUFFER_LENGTH_DEFAULTDefault term buffer length.- See Also:
-
IPC_TERM_BUFFER_LENGTH_PROP_NAME
Length (in bytes) of the log buffers for IPC publication terms.- See Also:
-
TERM_BUFFER_IPC_LENGTH_DEFAULT
public static final int TERM_BUFFER_IPC_LENGTH_DEFAULTDefault IPC term buffer length.- See Also:
-
LOW_FILE_STORE_WARNING_THRESHOLD_PROP_NAME
Property name low file storage warning threshold in bytes.- See Also:
-
LOW_FILE_STORE_WARNING_THRESHOLD_DEFAULT
public static final long LOW_FILE_STORE_WARNING_THRESHOLD_DEFAULTDefault value in bytes for low file storage warning threshold.- See Also:
-
CONDUCTOR_BUFFER_LENGTH_PROP_NAME
Length (in bytes) of the conductor buffer for control commands from the clients to the media driver conductor.- See Also:
-
CONDUCTOR_BUFFER_LENGTH_DEFAULT
public static final int CONDUCTOR_BUFFER_LENGTH_DEFAULTDefault buffer length for conductor buffers between the client and the media driver conductor. -
TO_CLIENTS_BUFFER_LENGTH_PROP_NAME
Length (in bytes) of the broadcast buffers from the media driver to the clients.- See Also:
-
TO_CLIENTS_BUFFER_LENGTH_DEFAULT
public static final int TO_CLIENTS_BUFFER_LENGTH_DEFAULTDefault buffer length for broadcast buffers from the media driver and the clients. -
COUNTERS_VALUES_BUFFER_LENGTH_PROP_NAME
Property name for length of the buffer for the counters.Each counter uses
CountersReader.COUNTER_LENGTH
bytes.- See Also:
-
COUNTERS_VALUES_BUFFER_LENGTH_DEFAULT
public static final int COUNTERS_VALUES_BUFFER_LENGTH_DEFAULTDefault length of the buffer for the counters file.- See Also:
-
COUNTERS_VALUES_BUFFER_LENGTH_MAX
public static final int COUNTERS_VALUES_BUFFER_LENGTH_MAXMaximum length of the buffer for the counters file.- See Also:
-
ERROR_BUFFER_LENGTH_PROP_NAME
Property name for length of the memory mapped buffer for the distinct error log.- See Also:
-
ERROR_BUFFER_LENGTH_DEFAULT
public static final int ERROR_BUFFER_LENGTH_DEFAULTDefault buffer length for the error buffer for the media driver.- See Also:
-
LOSS_REPORT_BUFFER_LENGTH_PROP_NAME
Property name for length of the memory mapped buffer for theLossReport
.- See Also:
-
LOSS_REPORT_BUFFER_LENGTH_DEFAULT
public static final int LOSS_REPORT_BUFFER_LENGTH_DEFAULTDefault buffer length for theLossReport
.- See Also:
-
INITIAL_WINDOW_LENGTH_PROP_NAME
Property name for length of the initial window which must be sufficient for Bandwidth Delay Product (BDP).- See Also:
-
INITIAL_WINDOW_LENGTH_DEFAULT
public static final int INITIAL_WINDOW_LENGTH_DEFAULTDefault initial window length for flow control sender to receiver purposes. This assumes a system free of pauses.Length of Initial Window:
RTT (LAN) = 100 usec Throughput = 10 Gbps
Buffer = Throughput * RTT Buffer = (10 * 1000 * 1000 * 1000 / 8) * 0.0001 = 125000 Round to 128 KB
- See Also:
-
STATUS_MESSAGE_TIMEOUT_PROP_NAME
Status message timeout in nanoseconds after which one will be sent when data flow has not triggered one.- See Also:
-
STATUS_MESSAGE_TIMEOUT_DEFAULT_NS
public static final long STATUS_MESSAGE_TIMEOUT_DEFAULT_NSMax timeout between Status messages (SM)s. -
SEND_TO_STATUS_POLL_RATIO_PROP_NAME
Property name for ratio of sending data to polling status messages in theSender
.- See Also:
-
SEND_TO_STATUS_POLL_RATIO_DEFAULT
public static final int SEND_TO_STATUS_POLL_RATIO_DEFAULTThe ratio for sending data to polling status messages in the Sender. This may be reduced for smaller windows.- See Also:
-
RESOURCE_FREE_LIMIT_PROP_NAME
Property name for the limit of the number of driver managed resources that can be freed in a single duty cycle.- See Also:
-
RESOURCE_FREE_LIMIT_DEFAULT
public static final int RESOURCE_FREE_LIMIT_DEFAULTDefault value for the limit of the number of driver managed resources that can be freed in a single duty cycle.- See Also:
-
SOCKET_RCVBUF_LENGTH_PROP_NAME
Property name for SO_RCVBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).- See Also:
-
SOCKET_RCVBUF_LENGTH_DEFAULT
public static final int SOCKET_RCVBUF_LENGTH_DEFAULTDefault SO_RCVBUF length.- See Also:
-
SOCKET_SNDBUF_LENGTH_PROP_NAME
Property name for SO_SNDBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).- See Also:
-
SOCKET_SNDBUF_LENGTH_DEFAULT
public static final int SOCKET_SNDBUF_LENGTH_DEFAULTDefault SO_SNDBUF length.- See Also:
-
SOCKET_MULTICAST_TTL_PROP_NAME
Property name for IP_MULTICAST_TTL setting on UDP sockets.- See Also:
-
SOCKET_MULTICAST_TTL_DEFAULT
public static final int SOCKET_MULTICAST_TTL_DEFAULTMulticast TTL value, 0 means use OS default.- See Also:
-
PUBLICATION_LINGER_PROP_NAME
Property name for linger timeout after draining onPublication
s so they can respond to NAKs.- See Also:
-
PUBLICATION_LINGER_DEFAULT_NS
public static final long PUBLICATION_LINGER_DEFAULT_NSDefault time forPublication
s to linger after draining and before cleanup in nanoseconds. -
CLIENT_LIVENESS_TIMEOUT_PROP_NAME
Property name forAeron
client liveness timeout after which it is considered not alive.- See Also:
-
CLIENT_LIVENESS_TIMEOUT_DEFAULT_NS
public static final long CLIENT_LIVENESS_TIMEOUT_DEFAULT_NSDefault timeout for client liveness timeout after which it is considered not alive. -
IMAGE_LIVENESS_TIMEOUT_PROP_NAME
Image
liveness timeout for how long it stays active without heartbeats or lingers around after being drained.- See Also:
-
IMAGE_LIVENESS_TIMEOUT_DEFAULT_NS
public static final long IMAGE_LIVENESS_TIMEOUT_DEFAULT_NSDefault timeout forImage
liveness timeout. -
PUBLICATION_TERM_WINDOW_LENGTH_PROP_NAME
Property name for window limit onPublication
side by which the publisher can get ahead of consumers.- See Also:
-
IPC_PUBLICATION_TERM_WINDOW_LENGTH_PROP_NAME
Property name for window limit for IPC publications.- See Also:
-
PUBLICATION_UNBLOCK_TIMEOUT_PROP_NAME
Publication
unblock timeout due to client crash or untimely commit.A publication can become blocked if the client crashes while publishing or if
Publication.tryClaim(int, BufferClaim)
is used without following up by callingBufferClaim.commit()
orBufferClaim.abort()
.- See Also:
-
PUBLICATION_UNBLOCK_TIMEOUT_DEFAULT_NS
public static final long PUBLICATION_UNBLOCK_TIMEOUT_DEFAULT_NSTimeout forPublication
unblock in nanoseconds. -
PUBLICATION_CONNECTION_TIMEOUT_PROP_NAME
Property name forPublication
timeout due to lack of status messages which indicate a connection.- See Also:
-
PUBLICATION_CONNECTION_TIMEOUT_DEFAULT_NS
public static final long PUBLICATION_CONNECTION_TIMEOUT_DEFAULT_NSTimeout forPublication
connection timeout in nanoseconds. -
SPIES_SIMULATE_CONNECTION_PROP_NAME
Property name for if spy subscriptions simulate a connection to a network publication.If true then this will override the min group size of the min and tagged flow control strategies.
- See Also:
-
IDLE_MAX_SPINS
public static final long IDLE_MAX_SPINSSpin on no activity before backing off to yielding.- See Also:
-
IDLE_MAX_YIELDS
public static final long IDLE_MAX_YIELDSYield the thread so others can run before backing off to parking.- See Also:
-
IDLE_MIN_PARK_NS
public static final long IDLE_MIN_PARK_NSPark for the minimum period of time which is typically 50-55 microseconds on 64-bit non-virtualised Linux. You will typically get 50-55 microseconds plus the number of nanoseconds requested if a core is available. On Windows expect to wait for at least 16ms or 1ms if the high-res timers are enabled.- See Also:
-
IDLE_MAX_PARK_NS
public static final long IDLE_MAX_PARK_NSMaximum back-off park time which doubles on each interval stepping up from the min park idle. -
CONTROLLABLE_IDLE_STRATEGY
IdleStrategy
to be used when mode can be controlled via a counter.- See Also:
-
SENDER_IDLE_STRATEGY_PROP_NAME
- See Also:
-
SENDER_IDLE_STRATEGY_DEFAULT
Default idle strategy for the sender thread.- See Also:
-
RECEIVER_IDLE_STRATEGY_PROP_NAME
- See Also:
-
RECEIVER_IDLE_STRATEGY_DEFAULT
Default idle strategy for the receiver thread.- See Also:
-
CONDUCTOR_IDLE_STRATEGY_PROP_NAME
Property name forIdleStrategy
to be employed byDriverConductor
forThreadingMode.DEDICATED
andThreadingMode.SHARED_NETWORK
.- See Also:
-
CONDUCTOR_IDLE_STRATEGY_DEFAULT
Default idle strategy for the conductor thread.- See Also:
-
SHARED_NETWORK_IDLE_STRATEGY_PROP_NAME
Property name forIdleStrategy
to be employed bySender
andReceiver
forThreadingMode.SHARED_NETWORK
.- See Also:
-
SHARED_NETWORK_IDLE_STRATEGY_DEFAULT
Default idle strategy for the shared network thread.- See Also:
-
SHARED_IDLE_STRATEGY_PROP_NAME
Property name forIdleStrategy
to be employed bySender
,Receiver
, andDriverConductor
forThreadingMode.SHARED
.- See Also:
-
SHARED_IDLE_STRATEGY_DEFAULT
Default idle strategy for the shared thread.- See Also:
-
UNICAST_FLOW_CONTROL_STRATEGY_PROP_NAME
Property name forFlowControl
to be employed for unicast channels.- See Also:
-
UNICAST_FLOW_CONTROL_STRATEGY_DEFAULT
- See Also:
-
UNICAST_FLOW_CONTROL_STRATEGY
FlowControl
to be employed for unicast channels. -
MULTICAST_FLOW_CONTROL_STRATEGY_PROP_NAME
Property name forFlowControl
to be employed for multicast channels.- See Also:
-
MULTICAST_FLOW_CONTROL_STRATEGY_DEFAULT
- See Also:
-
MULTICAST_FLOW_CONTROL_STRATEGY
FlowControl
to be employed for multicast channels. -
UNICAST_FLOW_CONTROL_STRATEGY_SUPPLIER_PROP_NAME
Property name forFlowControlSupplier
to be employed for unicast channels.- See Also:
-
MULTICAST_FLOW_CONTROL_STRATEGY_SUPPLIER_PROP_NAME
Property name forFlowControlSupplier
to be employed for unicast channels.- See Also:
-
MAX_UDP_PAYLOAD_LENGTH
public static final int MAX_UDP_PAYLOAD_LENGTHMaximum UDP datagram payload size for IPv4. Jumbo datagrams from IPv6 are not supported.Max length is 65,507 bytes as 65,535 minus 8 byte UDP header then minus 20 byte IP header. Then round down to the nearest multiple of
FrameDescriptor.FRAME_ALIGNMENT
giving 65,504.- See Also:
-
MTU_LENGTH_PROP_NAME
Length of the maximum transmission unit of the media driver's protocol. If this is greater than the network MTU for UDP then the packet will be fragmented and can amplify the impact of loss.- See Also:
-
MTU_LENGTH_DEFAULT
public static final int MTU_LENGTH_DEFAULTThe default is conservative to avoid fragmentation on IPv4 or IPv6 over Ethernet with PPPoE header, or for clouds such as Google, Azure, and AWS.On networks that suffer little congestion then a larger value can be used to reduce syscall costs.
- See Also:
-
IPC_MTU_LENGTH_PROP_NAME
Length of the maximum transmission unit of the media driver's protocol for IPC. This can be larger than the UDP version but if recorded replay needs to be considered.- See Also:
-
IPC_MTU_LENGTH_DEFAULT
public static final int IPC_MTU_LENGTH_DEFAULT- See Also:
-
THREADING_MODE_PROP_NAME
ThreadingMode
to be used by the AeronMediaDriver
.- See Also:
-
TIMER_INTERVAL_PROP_NAME
Interval between checks for timers and timeouts.- See Also:
-
DEFAULT_TIMER_INTERVAL_NS
public static final long DEFAULT_TIMER_INTERVAL_NSDefault interval between checks for timers and timeouts. -
COUNTER_FREE_TO_REUSE_TIMEOUT_PROP_NAME
Timeout between a counter being freed and being available to be reused.- See Also:
-
DEFAULT_COUNTER_FREE_TO_REUSE_TIMEOUT_NS
public static final long DEFAULT_COUNTER_FREE_TO_REUSE_TIMEOUT_NSDefault timeout between a counter being freed and being available to be reused. -
SEND_CHANNEL_ENDPOINT_SUPPLIER_PROP_NAME
Property name forSendChannelEndpointSupplier
.- See Also:
-
RECEIVE_CHANNEL_ENDPOINT_SUPPLIER_PROP_NAME
Property name forReceiveChannelEndpointSupplier
.- See Also:
-
SM_APPLICATION_SPECIFIC_FEEDBACK_PROP_NAME
Deprecated.Property name for Application Specific Feedback added to Status Messages by the driver for flow control.Replaced by
RECEIVER_GROUP_TAG_PROP_NAME
.- See Also:
-
CONGESTION_CONTROL_STRATEGY_SUPPLIER_PROP_NAME
Property name forCongestionControlSupplier
to be employed for receivers.- See Also:
-
PUBLICATION_RESERVED_SESSION_ID_LOW_PROP_NAME
Property name for low end of the publication reserved session-id range which will not be automatically assigned.- See Also:
-
PUBLICATION_RESERVED_SESSION_ID_LOW_DEFAULT
public static final int PUBLICATION_RESERVED_SESSION_ID_LOW_DEFAULTLow-end of the publication reserved session-id range which will not be automatically assigned.- See Also:
-
PUBLICATION_RESERVED_SESSION_ID_HIGH_PROP_NAME
High-end of the publication reserved session-id range which will not be automatically assigned.- See Also:
-
PUBLICATION_RESERVED_SESSION_ID_HIGH_DEFAULT
public static final int PUBLICATION_RESERVED_SESSION_ID_HIGH_DEFAULTHigh-end of the publication reserved session-id range which will not be automatically assigned.- See Also:
-
COMMAND_DRAIN_LIMIT
public static final int COMMAND_DRAIN_LIMITLimit for the number of commands drained in one operation.- See Also:
-
CMD_QUEUE_CAPACITY
public static final int CMD_QUEUE_CAPACITYCapacity for the command queues used between driver agents.- See Also:
-
PENDING_SETUPS_TIMEOUT_NS
public static final long PENDING_SETUPS_TIMEOUT_NSTimeout on cleaning up pending SETUP message state on subscriber. -
PUBLICATION_SETUP_TIMEOUT_NS
public static final long PUBLICATION_SETUP_TIMEOUT_NSTimeout between SETUP messages for publications during initial setup phase. -
PUBLICATION_HEARTBEAT_TIMEOUT_NS
public static final long PUBLICATION_HEARTBEAT_TIMEOUT_NSTimeout between heartbeats for publications. -
NAK_MULTICAST_GROUP_SIZE_PROP_NAME
Expected size of multicast receiver groups property name.- See Also:
-
NAK_MULTICAST_GROUP_SIZE_DEFAULT
public static final int NAK_MULTICAST_GROUP_SIZE_DEFAULTDefault multicast receiver group size estimate for NAK delay randomisation.- See Also:
-
NAK_MULTICAST_MAX_BACKOFF_PROP_NAME
Max backoff time for multicast NAK delay randomisation in nanoseconds.- See Also:
-
NAK_MAX_BACKOFF_DEFAULT_NS
public static final long NAK_MAX_BACKOFF_DEFAULT_NSDefault max backoff for NAK delay randomisation in nanoseconds. -
NAK_UNICAST_DELAY_PROP_NAME
Unicast NAK delay in nanoseconds property name.- See Also:
-
NAK_UNICAST_DELAY_DEFAULT_NS
public static final long NAK_UNICAST_DELAY_DEFAULT_NSDefault Unicast NAK delay in nanoseconds. -
NAK_UNICAST_RETRY_DELAY_RATIO_PROP_NAME
Unicast NAK retry delay ratio property name.- See Also:
-
NAK_UNICAST_RETRY_DELAY_RATIO_DEFAULT
public static final long NAK_UNICAST_RETRY_DELAY_RATIO_DEFAULTDefault Unicast NAK retry delay ratio.- See Also:
-
RETRANSMIT_UNICAST_DELAY_PROP_NAME
Property for setting how long to delay before sending a retransmit after receiving a NAK.- See Also:
-
RETRANSMIT_UNICAST_DELAY_DEFAULT_NS
public static final long RETRANSMIT_UNICAST_DELAY_DEFAULT_NSDefault delay before retransmission of data for unicast in nanoseconds. -
RETRANSMIT_UNICAST_LINGER_PROP_NAME
Property for setting how long to linger after delay on a NAK before responding to another NAK.- See Also:
-
RETRANSMIT_UNICAST_LINGER_DEFAULT_NS
public static final long RETRANSMIT_UNICAST_LINGER_DEFAULT_NSDefault delay for linger for unicast in nanoseconds. -
UNTETHERED_WINDOW_LIMIT_TIMEOUT_PROP_NAME
Property name of the timeout for when an untethered subscription that is outside the window limit will participate in local flow control.- See Also:
-
UNTETHERED_WINDOW_LIMIT_TIMEOUT_DEFAULT_NS
public static final long UNTETHERED_WINDOW_LIMIT_TIMEOUT_DEFAULT_NSDefault timeout for when an untethered subscription that is outside the window limit will participate in local flow control. -
UNTETHERED_RESTING_TIMEOUT_PROP_NAME
Property name of the timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.- See Also:
-
UNTETHERED_RESTING_TIMEOUT_DEFAULT_NS
public static final long UNTETHERED_RESTING_TIMEOUT_DEFAULT_NSDefault timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream. -
MAX_RESEND_PROP_NAME
Property name of the max number of active retransmissions tracked for udp streams with group semantics.- See Also:
-
MAX_RESEND_DEFAULT
public static final int MAX_RESEND_DEFAULTDefault max number of active retransmissions per connected stream udp stream with group semantics.- See Also:
-
MAX_RESEND_MAX
public static final int MAX_RESEND_MAXMaximum value for the active retransmissions per connected stream udp stream with group semantics.- See Also:
-
TERMINATION_VALIDATOR_PROP_NAME
Property name for the class used to validate if a driver should terminate based on token.- See Also:
-
REJOIN_STREAM_PROP_NAME
Property name for default boolean value for if a stream can be rejoined. True to allow stream rejoin.- See Also:
-
RECEIVER_GROUP_TAG_PROP_NAME
Property name for default group tag (gtag) to send in all Status Messages.- See Also:
-
FLOW_CONTROL_GROUP_TAG_PROP_NAME
Property name for default group tag (gtag) used by the tagged flow control strategy to group receivers.- See Also:
-
FLOW_CONTROL_GROUP_MIN_SIZE_PROP_NAME
Property name for default minimum group size used by flow control strategies to determine connectivity.- See Also:
-
FLOW_CONTROL_RECEIVER_TIMEOUT_DEFAULT_NS
public static final long FLOW_CONTROL_RECEIVER_TIMEOUT_DEFAULT_NSDefault value for the receiver timeout used to determine if the receiver should still be monitored for flow control purposes. -
FLOW_CONTROL_RECEIVER_TIMEOUT_PROP_NAME
Property name for flow control timeout after which with no status messages the receiver is considered gone.- See Also:
-
RESOLVER_NAME_PROP_NAME
Property name for resolver name of the Media Driver used in name resolution.- See Also:
-
RESOLVER_INTERFACE_PROP_NAME
Property name for resolver interface to which network connections are made. -
RESOLVER_BOOTSTRAP_NEIGHBOR_PROP_NAME
Property name for resolver bootstrap neighbors for which it can bootstrap naming, format is comma separated list ofhostname:port
pairs. -
RE_RESOLUTION_CHECK_INTERVAL_PROP_NAME
Property name for re-resolution check interval for resolving names to IP address.- See Also:
-
RE_RESOLUTION_CHECK_INTERVAL_DEFAULT_NS
public static final long RE_RESOLUTION_CHECK_INTERVAL_DEFAULT_NSDefault value for the re-resolution check interval. -
CONDUCTOR_CYCLE_THRESHOLD_PROP_NAME
Property name for threshold value for the conductor work cycle threshold to track for being exceeded.- See Also:
-
CONDUCTOR_CYCLE_THRESHOLD_DEFAULT_NS
public static final long CONDUCTOR_CYCLE_THRESHOLD_DEFAULT_NSDefault threshold value for the conductor work cycle threshold to track for being exceeded. -
SENDER_CYCLE_THRESHOLD_PROP_NAME
Property name for threshold value for the sender work cycle threshold to track for being exceeded.- See Also:
-
SENDER_CYCLE_THRESHOLD_DEFAULT_NS
public static final long SENDER_CYCLE_THRESHOLD_DEFAULT_NSDefault threshold value for the sender work cycle threshold to track for being exceeded. -
RECEIVER_CYCLE_THRESHOLD_PROP_NAME
Property name for threshold value for the receiver work cycle threshold to track for being exceeded.- See Also:
-
RECEIVER_CYCLE_THRESHOLD_DEFAULT_NS
public static final long RECEIVER_CYCLE_THRESHOLD_DEFAULT_NSDefault threshold value for the receiver work cycle threshold to track for being exceeded. -
NAME_RESOLVER_THRESHOLD_PROP_NAME
Property name for threshold value for the name resolution threshold to track for being exceeded.- See Also:
-
NAME_RESOLVER_THRESHOLD_DEFAULT_NS
public static final long NAME_RESOLVER_THRESHOLD_DEFAULT_NSDefault threshold value for the name resolution threshold to track for being exceeded. -
SENDER_WILDCARD_PORT_RANGE_PROP_NAME
Property name for wildcard port range for the Sender.- See Also:
-
RECEIVER_WILDCARD_PORT_RANGE_PROP_NAME
Property name for wildcard port range for the Receiver.- See Also:
-
ASYNC_TASK_EXECUTOR_THREADS_PROP_NAME
Property name to configure the number of async executor threads. Defaults to1
. Negative value or zero means no asynchronous threads should be created, i.e. execution will be done on the conductor thread.- Since:
- 1.44.0
- See Also:
-
STREAM_SESSION_LIMIT_PROP_NAME
Property name to set a limit on the number sessions allowed per stream on a subscription.- See Also:
-
STREAM_SESSION_LIMIT_DEFAULT
public static final int STREAM_SESSION_LIMIT_DEFAULTDefault number of sessions allowed per stream on a subscription. Default is to be effectively unlimited.- See Also:
-
CALLER_RUNS_TASK_EXECUTOR
Executor
that run tasks on the caller thread.
-
-
Constructor Details
-
Configuration
public Configuration()
-
-
Method Details
-
useWindowsHighResTimer
public static boolean useWindowsHighResTimer()Should the high-resolution timer be used when running on Windows.- Returns:
- true if the high-resolution timer be used when running on Windows.
- See Also:
-
warnIfDirExists
public static boolean warnIfDirExists()Should a warning be printed if the aeron directory exist when starting.- Returns:
- true if a warning be printed if the aeron directory exist when starting.
- See Also:
-
dirDeleteOnStart
public static boolean dirDeleteOnStart()Should driver attempt to an immediate forced delete ofCommonContext.AERON_DIR_PROP_NAME
on start if it exists.- Returns:
- true if the aeron directory be deleted on start without checking if active.
- See Also:
-
dirDeleteOnShutdown
public static boolean dirDeleteOnShutdown()Should driver attempt to deleteCommonContext.AERON_DIR_PROP_NAME
on shutdown.- Returns:
- true if driver should attempt to delete
CommonContext.AERON_DIR_PROP_NAME
on shutdown. - See Also:
-
termBufferSparseFile
public static boolean termBufferSparseFile()Should term buffers be created as sparse files. This can save space at the expense of latency when required.- Returns:
- true if term buffers should be created as sparse files.
- See Also:
-
tetherSubscriptions
public static boolean tetherSubscriptions()Default for if subscriptions should be tethered.- Returns:
- true if the default subscriptions should be tethered.
- See Also:
-
reliableStream
public static boolean reliableStream()Default boolean value for if a stream is reliable. True to NAK, false to gap fill.- Returns:
- true if NAK is default or false to gap fill.
- See Also:
-
performStorageChecks
public static boolean performStorageChecks()Should storage checks should be performed before allocating files.- Returns:
- true of storage checks should be performed before allocating files.
- See Also:
-
spiesSimulateConnection
public static boolean spiesSimulateConnection()Should spy subscriptions simulate a connection to a network publication.If true then this will override the min group size of the min and tagged flow control strategies.
- Returns:
- true if spy subscriptions should simulate a connection to a network publication.
- See Also:
-
receiverGroupConsideration
Should subscriptions should be considered a group member or individual connection, e.g. multicast vs unicast.- Returns:
- FORCE_TRUE if subscriptions should be considered a group member or false if individual.
- See Also:
-
conductorBufferLength
public static int conductorBufferLength()Length (in bytes) of the conductor buffer for control commands from the clients to the media driver conductor.- Returns:
- length (in bytes) of the conductor buffer for control commands from the clients to the media driver.
- See Also:
-
toClientsBufferLength
public static int toClientsBufferLength()Length (in bytes) of the broadcast buffers from the media driver to the clients.- Returns:
- length (in bytes) of the broadcast buffers from the media driver to the clients.
- See Also:
-
counterValuesBufferLength
public static int counterValuesBufferLength()Length of the buffer for the counters.Each counter uses
CountersReader.COUNTER_LENGTH
bytes.- Returns:
- Length of the buffer for the counters.
- See Also:
-
errorBufferLength
public static int errorBufferLength()Length of the memory mapped buffer for the distinct error log.- Returns:
- length of the memory mapped buffer for the distinct error log.
-
nakMulticastGroupSize
public static int nakMulticastGroupSize()Expected size of typical multicast receiver groups.- Returns:
- expected size of typical multicast receiver groups.
- See Also:
-
nakMulticastMaxBackoffNs
public static long nakMulticastMaxBackoffNs()Max backoff time for multicast NAK delay randomisation in nanoseconds.- Returns:
- max backoff time for multicast NAK delay randomisation in nanoseconds.
- See Also:
-
nakUnicastDelayNs
public static long nakUnicastDelayNs()Unicast NAK delay in nanoseconds.- Returns:
- unicast NAK delay in nanoseconds.
- See Also:
-
nakUnicastRetryDelayRatio
public static long nakUnicastRetryDelayRatio()Unicast NAK retry delay ratio.- Returns:
- unicast NAK delay in nanoseconds.
- See Also:
-
timerIntervalNs
public static long timerIntervalNs()Interval between checks for timers and timeouts.- Returns:
- interval between checks for timers and timeouts.
- See Also:
-
lowStorageWarningThreshold
public static long lowStorageWarningThreshold()Low file storage warning threshold in bytes for when performing storage checks.- Returns:
- Low file storage warning threshold for when performing storage checks.
- See Also:
-
publicationTermWindowLength
public static int publicationTermWindowLength()The window limit on UDPPublication
side by which the publisher can get ahead of consumers.- Returns:
- window limit on UDP
Publication
side by which the publisher can get ahead of consumers. - See Also:
-
ipcPublicationTermWindowLength
public static int ipcPublicationTermWindowLength()The window limit on IPCPublication
side by which the publisher can get ahead of consumers.- Returns:
- window limit on IPC
Publication
side by which the publisher can get ahead of consumers. - See Also:
-
untetheredWindowLimitTimeoutNs
public static long untetheredWindowLimitTimeoutNs()The timeout for when an untethered subscription that is outside the window limit will participate in local flow control.- Returns:
- the timeout for when an untethered subscription that is outside the window limit will be included.
- See Also:
-
untetheredRestingTimeoutNs
public static long untetheredRestingTimeoutNs()The timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.- Returns:
- The timeout for when an untethered subscription is resting before rejoining a stream.
- See Also:
-
maxResend
public static int maxResend()Max number of active retransmissions tracked for udp streams with group semantics.- Returns:
- max retransmits
- See Also:
-
rejoinStream
public static boolean rejoinStream()Default boolean value for if a stream can be rejoined. True to allow stream rejoin, false to not.- Returns:
- boolean value for if a stream can be rejoined. True to allow stream rejoin, false to not.
- See Also:
-
groupTag
Default group tag (gtag) to send in all Status Messages. If not provided then no gtag is sent.- Returns:
- Default group tag (gtag) to send in all Status Messages.
- See Also:
-
flowControlGroupTag
public static long flowControlGroupTag()Default group tag (gtag) used by the tagged flow control strategy to group receivers.- Returns:
- group tag (gtag) used by the tagged flow control strategy to group receivers.
- See Also:
-
flowControlGroupMinSize
public static int flowControlGroupMinSize()Default minimum group size used by flow control strategies to determine connectivity.- Returns:
- default minimum group size used by flow control strategies to determine connectivity.
- See Also:
-
flowControlReceiverTimeoutNs
public static long flowControlReceiverTimeoutNs()Flow control timeout after which with no status messages the receiver is considered gone.- Returns:
- flow control timeout after which with no status messages the receiver is considered gone.
- See Also:
-
resolverName
Resolver name of the Media Driver used in name resolution.- Returns:
- resolver name of the Media Driver used in name resolution.
- See Also:
-
resolverInterface
Property name for resolver interface to which network connections are made, format is hostname:port.- Returns:
- resolver interface to which network connections are made, format is hostname:port.
- See Also:
-
resolverBootstrapNeighbor
Resolver bootstrap neighbor for which it can bootstrap naming, format is hostname:port.- Returns:
- resolver bootstrap neighbor for which it can bootstrap naming, format is hostname:port.
- See Also:
-
reResolutionCheckIntervalNs
public static long reResolutionCheckIntervalNs()Re-resolution check interval for resolving names to IP address when they may have changed.- Returns:
- re-resolution check interval for resolving names to IP address when they may have changed.
- See Also:
-
producerWindowLength
public static int producerWindowLength(int termBufferLength, int defaultTermWindowLength) How far ahead a producer can get from a consumer position.- Parameters:
termBufferLength
- for when default is not set and considering an appropriate minimum.defaultTermWindowLength
- to take priority.- Returns:
- the length to be used for the producer window.
-
receiverWindowLength
public static int receiverWindowLength(int termBufferLength, int initialWindowLength) Length to be used for the receiver window taking into account initial window length and term buffer length.- Parameters:
termBufferLength
- for the publication image.initialWindowLength
- set for the channel.- Returns:
- the length to be used for the receiver window.
-
termBufferLength
public static int termBufferLength()Length (in bytes) of the log buffers for UDP publication terms.- Returns:
- length (in bytes) of the log buffers for UDP publication terms.
- See Also:
-
ipcTermBufferLength
public static int ipcTermBufferLength()Length (in bytes) of the log buffers for IPC publication terms.- Returns:
- length (in bytes) of the log buffers for IPC publication terms.
- See Also:
-
initialWindowLength
public static int initialWindowLength()Length of the initial window which must be sufficient for Bandwidth Delay Product (BDP).- Returns:
- length of the initial window which must be sufficient for Bandwidth Delay Product (BDP).
- See Also:
-
socketSndbufLength
public static int socketSndbufLength()SO_SNDBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).- Returns:
- SO_SNDBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).
- See Also:
-
socketRcvbufLength
public static int socketRcvbufLength()SO_RCVBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).- Returns:
- SO_RCVBUF setting on UDP sockets which must be sufficient for Bandwidth Delay Product (BDP).
- See Also:
-
mtuLength
public static int mtuLength()Length of the maximum transmission unit of the media driver's protocol. If this is greater than the network MTU for UDP then the packet will be fragmented and can amplify the impact of loss.- Returns:
- length of the maximum transmission unit of the media driver's protocol.
- See Also:
-
ipcMtuLength
public static int ipcMtuLength()Length of the maximum transmission unit of the media driver's protocol for IPC. This can be larger than the UDP version but if recorded replay needs to be considered.- Returns:
- length of the maximum transmission unit of the media driver's protocol for IPC.
- See Also:
-
socketMulticastTtl
public static int socketMulticastTtl()IP_MULTICAST_TTL setting on UDP sockets.- Returns:
- IP_MULTICAST_TTL setting on UDP sockets.
- See Also:
-
filePageSize
public static int filePageSize()Page size in bytes to align all files to. The file system must support the requested size.- Returns:
- page size in bytes to align all files to.
- See Also:
-
publicationReservedSessionIdLow
public static int publicationReservedSessionIdLow()Low-end of the publication reserved session-id range which will not be automatically assigned.- Returns:
- low-end of the publication reserved session-id range which will not be automatically assigned.
- See Also:
-
publicationReservedSessionIdHigh
public static int publicationReservedSessionIdHigh()High-end of the publication reserved session-id range which will not be automatically assigned.- Returns:
- high-end of the publication reserved session-id range which will not be automatically assigned.
- See Also:
-
statusMessageTimeoutNs
public static long statusMessageTimeoutNs()Status message timeout in nanoseconds after which one will be sent when data flow has not triggered one.- Returns:
- status message timeout in nanoseconds after which one will be sent.
- See Also:
-
sendToStatusMessagePollRatio
public static int sendToStatusMessagePollRatio()Ratio of sending data to polling status messages in theSender
.- Returns:
- ratio of sending data to polling status messages in the
Sender
. - See Also:
-
resourceFreeLimit
public static int resourceFreeLimit()Limit the number of driver managed resources that can be freed in the same duty cycle.- Returns:
- limit of the number of resources.
- See Also:
-
counterFreeToReuseTimeoutNs
public static long counterFreeToReuseTimeoutNs()Timeout between a counter being freed and being available to be reused.- Returns:
- timeout between a counter being freed and being available to be reused.
- See Also:
-
clientLivenessTimeoutNs
public static long clientLivenessTimeoutNs()Aeron
client liveness timeout after which it is considered not alive.- Returns:
Aeron
client liveness timeout after which it is considered not alive.- See Also:
-
imageLivenessTimeoutNs
public static long imageLivenessTimeoutNs()Image
liveness timeout for how long it stays active without heartbeats or lingers around after being drained.- Returns:
Image
liveness timeout for how long it stays active without heartbeats or lingers around after being drained.- See Also:
-
publicationUnblockTimeoutNs
public static long publicationUnblockTimeoutNs()Publication
unblock timeout due to client crash or untimely commit.A publication can become blocked if the client crashes while publishing or if
Publication.tryClaim(int, BufferClaim)
is used without following up by callingBufferClaim.commit()
orBufferClaim.abort()
.- Returns:
Publication
unblock timeout due to client crash or untimely commit.- See Also:
-
publicationConnectionTimeoutNs
public static long publicationConnectionTimeoutNs()Publication
timeout due to lack of status messages which indicate a connection.- Returns:
Publication
timeout due to lack of status messages which indicate a connection.- See Also:
-
publicationLingerTimeoutNs
public static long publicationLingerTimeoutNs()Linger timeout after draining onPublication
s so they can respond to NAKs.- Returns:
- linger timeout after draining on
Publication
s so they can respond to NAKs. - See Also:
-
retransmitUnicastDelayNs
public static long retransmitUnicastDelayNs()Setting how long to delay before sending a retransmit after receiving a NAK.- Returns:
- setting how long to delay before sending a retransmit after receiving a NAK.
- See Also:
-
retransmitUnicastLingerNs
public static long retransmitUnicastLingerNs()Setting how long to linger after delay on a NAK before responding to another NAK.- Returns:
- setting how long to linger after delay on a NAK before responding to another NAK.
- See Also:
-
lossReportBufferLength
public static int lossReportBufferLength()Length of the memory mapped buffer for theLossReport
.- Returns:
- length of the memory mapped buffer for the
LossReport
. - See Also:
-
threadingMode
ThreadingMode
to be used by the AeronMediaDriver
. This allows for CPU resource to be traded against throughput and latency.- Returns:
ThreadingMode
to be used by the AeronMediaDriver
.- See Also:
-
conductorCycleThresholdNs
public static long conductorCycleThresholdNs()Get threshold value for the conductor work cycle threshold to track for being exceeded.- Returns:
- threshold value in nanoseconds.
-
senderCycleThresholdNs
public static long senderCycleThresholdNs()Get threshold value for the sender work cycle threshold to track for being exceeded.- Returns:
- threshold value in nanoseconds.
-
receiverCycleThresholdNs
public static long receiverCycleThresholdNs()Get threshold value for the receiver work cycle threshold to track for being exceeded.- Returns:
- threshold value in nanoseconds.
-
nameResolverThresholdNs
public static long nameResolverThresholdNs()Get threshold value for the name resolution time threshold to track for being exceeded.- Returns:
- threshold value in nanoseconds.
-
senderWildcardPortRange
Get wildcard port range in use for the Sender.- Returns:
- port range as string with the format "low high"
-
receiverWildcardPortRange
Get wildcard port range in use for the Receiver.- Returns:
- port range as string with the format "low high"
-
asyncTaskExecutorThreads
public static int asyncTaskExecutorThreads()Number of async executor threads.- Returns:
- number of threads, defaults to one.
- Since:
- 1.44.0
- See Also:
-
agentIdleStrategy
public static IdleStrategy agentIdleStrategy(String strategyName, StatusIndicator controllableStatus) Get theIdleStrategy
that should be applied toAgent
s.- Parameters:
strategyName
- of the class to be created.controllableStatus
- status indicator for what the strategy should do.- Returns:
- the newly created IdleStrategy.
-
senderIdleStrategy
- Parameters:
controllableStatus
- to allow control ofControllableIdleStrategy
, which can be null if not used.- Returns:
IdleStrategy
to be employed bySender
forThreadingMode.DEDICATED
.- See Also:
-
receiverIdleStrategy
- Parameters:
controllableStatus
- to allow control ofControllableIdleStrategy
, which can be null if not used.- Returns:
IdleStrategy
to be employed byReceiver
forThreadingMode.DEDICATED
.- See Also:
-
conductorIdleStrategy
IdleStrategy
to be employed byDriverConductor
forThreadingMode.DEDICATED
andThreadingMode.SHARED_NETWORK
.- Parameters:
controllableStatus
- to allow control ofControllableIdleStrategy
, which can be null if not used.- Returns:
IdleStrategy
to be employed byDriverConductor
forThreadingMode.DEDICATED
andThreadingMode.SHARED_NETWORK
..- See Also:
-
applicationSpecificFeedback
Deprecated.seegroupTag()
.- Returns:
- Application Specific Feedback added to Status Messages by the driver for flow control.
- See Also:
-
sendChannelEndpointSupplier
Get the supplier ofSendChannelEndpoint
s which can be used for debugging, monitoring, or modifying the behaviour when sending to the channel.- Returns:
- the
SendChannelEndpointSupplier
.
-
receiveChannelEndpointSupplier
Get the supplier ofReceiveChannelEndpoint
s which can be used for debugging, monitoring, or modifying the behaviour when receiving from the channel.- Returns:
- the
SendChannelEndpointSupplier
.
-
unicastFlowControlSupplier
Get the supplier ofFlowControl
s which can be used for changing behavior of flow control for unicast publications.- Returns:
- the
FlowControlSupplier
.
-
multicastFlowControlSupplier
Get the supplier ofFlowControl
s which can be used for changing behavior of flow control for multicast publications.- Returns:
- the
FlowControlSupplier
.
-
congestionControlSupplier
Get the supplier ofCongestionControl
implementations which can be used for receivers.- Returns:
- the
CongestionControlSupplier
-
streamSessionLimit
public static int streamSessionLimit()Get the configured limit for the number of streams per session.- Returns:
- configured session limit
- Throws:
AsciiNumberFormatException
- if the property referenced bySTREAM_SESSION_LIMIT_PROP_NAME
is not a valid number
-
validateInitialWindowLength
public static void validateInitialWindowLength(int initialWindowLength, int mtuLength) Validate that the initial window length is greater than MTU.- Parameters:
initialWindowLength
- to be validated.mtuLength
- against which to validate.
-
validateMtuLength
public static void validateMtuLength(int mtuLength) Validate that the MTU is an appropriate length. MTU lengths must be a multiple ofFrameDescriptor.FRAME_ALIGNMENT
.- Parameters:
mtuLength
- to be validated.- Throws:
ConfigurationException
- if the MTU length is not valid.
-
terminationValidator
Get theTerminationValidator
implementations which can be used for validating a termination request sent to the driver to ensure the client has the right to terminate a driver.- Returns:
- the
TerminationValidator
-
validateSocketBufferLengths
Validate that the socket buffer lengths are sufficient for the media driver configuration.- Parameters:
ctx
- to be validated.
-
validatePageSize
public static void validatePageSize(int pageSize) Validate that page size is valid and alignment is valid.- Parameters:
pageSize
- to be checked.- Throws:
ConfigurationException
- if the size is not as expected.
-
validateSessionIdRange
public static void validateSessionIdRange(int low, int high) Validate the range of session ids based on a high and low value provided which accounts for the values wrapping.- Parameters:
low
- value in the range.high
- value in the range.- Throws:
ConfigurationException
- if the values are not valid.
-
countersMetadataBufferLength
public static int countersMetadataBufferLength(int counterValuesBufferLength) Compute the length of theCountersManager
metadata buffer based on the length of the counters value buffer length.- Parameters:
counterValuesBufferLength
- to compute the metadata buffer length from as a ratio.- Returns:
- the length that should be used for the metadata buffer for counters.
-
validateUnblockTimeout
public static void validateUnblockTimeout(long publicationUnblockTimeoutNs, long clientLivenessTimeoutNs, long timerIntervalNs) Validate that the timeouts for unblocking publications from a client are valid.- Parameters:
publicationUnblockTimeoutNs
- after which an uncommitted publication will be unblocked.clientLivenessTimeoutNs
- after which a client will be considered not alive.timerIntervalNs
- interval at which the driver will check timeouts.- Throws:
ConfigurationException
- if the values are not valid.
-
validateUntetheredTimeouts
public static void validateUntetheredTimeouts(long untetheredWindowLimitTimeoutNs, long untetheredRestingTimeoutNs, long timerIntervalNs) Validate that the timeouts for untethered subscriptions are greater than timer interval.- Parameters:
untetheredWindowLimitTimeoutNs
- after which an untethered subscription will be lingered.untetheredRestingTimeoutNs
- after which an untethered subscription that is lingered can become active.timerIntervalNs
- interval at which the driver will check timeouts.- Throws:
ConfigurationException
- if the values are not valid.
-
sourceIdentity
Create a source identity for a given source address.- Parameters:
srcAddress
- to be used for the identity.- Returns:
- a source identity string for a given address.
-
groupTag()
.