Class MediaDriver.Context
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- MediaDriver
MediaDriver
that can be used to provide overrides for Configuration
.
Note: Do not reuse instances of this MediaDriver.Context
across different MediaDriver
s.
The context will be owned by DriverConductor
after a successful
MediaDriver.launch(Context)
and closed via MediaDriver.close()
.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.aeron.CommonContext
CommonContext.InferableBoolean
-
Field Summary
Fields inherited from class io.aeron.CommonContext
AERON_DIR_PROP_DEFAULT, AERON_DIR_PROP_NAME, ALIAS_PARAM_NAME, CHANNEL_RECEIVE_TIMESTAMP_OFFSET_PARAM_NAME, CHANNEL_SEND_TIMESTAMP_OFFSET_PARAM_NAME, CONGESTION_CONTROL_PARAM_NAME, CONTROL_MODE_RESPONSE, DEBUG_TIMEOUT_PROP_NAME, DEFAULT_DRIVER_TIMEOUT_MS, DRIVER_TIMEOUT_MS, DRIVER_TIMEOUT_PROP_NAME, ENABLE_EXPERIMENTAL_FEATURES_PROP_NAME, ENDPOINT_PARAM_NAME, EOS_PARAM_NAME, FALLBACK_LOGGER_PROP_NAME, FLOW_CONTROL_PARAM_NAME, GROUP_PARAM_NAME, GROUP_TAG_PARAM_NAME, INITIAL_TERM_ID_PARAM_NAME, INTERFACE_PARAM_NAME, IPC_CHANNEL, IPC_MEDIA, LINGER_PARAM_NAME, MAX_RESEND_PARAM_NAME, MDC_CONTROL_MODE_DYNAMIC, MDC_CONTROL_MODE_MANUAL, MDC_CONTROL_MODE_PARAM_NAME, MDC_CONTROL_PARAM_NAME, MEDIA_RCV_TIMESTAMP_OFFSET_PARAM_NAME, MTU_LENGTH_PARAM_NAME, NAK_DELAY_PARAM_NAME, NULL_SESSION_ID, PRINT_CONFIGURATION_ON_START_PROP_NAME, PUBLICATION_WINDOW_LENGTH_PARAM_NAME, RECEIVER_WINDOW_LENGTH_PARAM_NAME, REJOIN_PARAM_NAME, RELIABLE_STREAM_PARAM_NAME, RESERVED_OFFSET, RESPONSE_CORRELATION_ID_PARAM_NAME, RESPONSE_ENDPOINT_PARAM_NAME, SECURE_RANDOM_ALGORITHM_DEFAULT, SECURE_RANDOM_ALGORITHM_PROP_NAME, SESSION_ID_PARAM_NAME, SOCKET_RCVBUF_PARAM_NAME, SOCKET_SNDBUF_PARAM_NAME, SPARSE_PARAM_NAME, SPIES_SIMULATE_CONNECTION_PARAM_NAME, SPY_PREFIX, STREAM_ID_PARAM_NAME, TAG_PREFIX, TAGS_PARAM_NAME, TERM_ID_PARAM_NAME, TERM_LENGTH_PARAM_NAME, TERM_OFFSET_PARAM_NAME, TETHER_PARAM_NAME, TTL_PARAM_NAME, UDP_CHANNEL, UDP_MEDIA, UNTETHERED_RESTING_TIMEOUT_PARAM_NAME, UNTETHERED_WINDOW_LIMIT_TIMEOUT_PARAM_NAME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaeronDirectoryName
(String dirName) Set the top level Aeron directory used for communication between the client and Media Driver, and the location of the data buffers.byte[]
Deprecated.applicationSpecificFeedback
(byte[] asfBytes) Deprecated.Executor
to be used for asynchronous task execution in theDriverConductor
.asyncTaskExecutor
(Executor asyncTaskExecutor) Executor
to be used for asynchronous task execution in theDriverConductor
.int
Returns the number of threads for async task executor.asyncTaskExecutorThreads
(int asyncTaskExecutorThreads) Sets the number of threads for async task executor.TheCachedEpochClock
as a source of time in milliseconds for wall clock time.cachedEpochClock
(CachedEpochClock clock) TheCachedEpochClock
as a source of time in milliseconds for wall clock time.TheCachedNanoClock
as a source of time in nanoseconds for measuring duration.cachedNanoClock
(CachedNanoClock clock) TheCachedNanoClock
as a source of time in nanoseconds for measuring duration for theDriverConductor
.Clock used record channel receive timestamps.Set the clock to be used to record channel receive timestamps.Clock used record channel send timestamps.Set the clock to be used to record channel send timestamps.long
Time in nanoseconds after which a client is considered dead if a keep alive is not received.clientLivenessTimeoutNs
(long timeoutNs) Time in nanoseconds after which a client is considered dead if a keep alive is not received.clone()
Perform a shallow copy of the object.void
close()
Free up resources but don't delete files in case they are required for debugging unlessdirDeleteOnShutdown()
is set.conclude()
This completes initialization of the CommonContext object.int
Length of theRingBuffer
for sending commands to the driver conductor from clients.conductorBufferLength
(int length) Length of theRingBuffer
for sending commands to the driver conductor from clients.long
Threshold for the conductor work cycle time which when exceed it will increment theSystemCounterDescriptor.CONDUCTOR_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.conductorCycleThresholdNs
(long thresholdNs) Set a threshold for the conductor work cycle time which when exceed it will increment theSystemCounterDescriptor.CONDUCTOR_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.Duty cycle tracker used for the conductor.conductorDutyCycleTracker
(DutyCycleTracker dutyCycleTracker) Set the duty cycle tracker used for the conductor.IdleStrategy
to be used by theDriverConductor
when inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.conductorIdleStrategy
(IdleStrategy strategy) IdleStrategy
to be used by theDriverConductor
when inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.ThreadFactory
to be used for creating agent thread for theDriverConductor
when running inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.conductorThreadFactory
(ThreadFactory factory) ThreadFactory
to be used for creating agent thread for theDriverConductor
when running inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.Supplier of dynamically createdCongestionControl
strategies for individual connections.Supplier of dynamically createdCongestionControl
strategies for individual connections.Counted error handler that wrapserrorHandler()
andSystemCounterDescriptor.ERRORS
counter.long
Time in nanoseconds after which a freed counter may be reused.counterFreeToReuseTimeoutNs
(long counterFreeToReuseTimeoutNs) Time in nanoseconds after which a freed counter may be reused.Get theCountersManager
that has been concluded for this context.countersManager
(CountersManager countersManager) Set theCountersManager
to override the one that would have been concluded.countersMetaDataBuffer
(UnsafeBuffer countersMetaDataBuffer) Set the buffer containing the counter metadata.countersValuesBuffer
(UnsafeBuffer countersValuesBuffer) Set the buffer containing the counters.int
Length of the buffer for storing values by theCountersManager
.counterValuesBufferLength
(int length) Length of the buffer for storing values by theCountersManager
.void
Delete the directory used by theMediaDriver
which delegates toCommonContext.deleteAeronDirectory()
.boolean
Will the driver attempt to deleteCommonContext.aeronDirectoryName()
on shutdown.dirDeleteOnShutdown
(boolean dirDeleteOnShutdown) Should the driver attempt to deleteCommonContext.aeronDirectoryName()
on shutdown.boolean
Will the driver attempt to immediately deleteCommonContext.aeronDirectoryName()
on startup.dirDeleteOnStart
(boolean dirDeleteOnStart) Should the driver attempt to immediately deleteCommonContext.aeronDirectoryName()
on startup.driverTimeoutMs
(long value) Set the driver timeout in milliseconds.enableExperimentalFeatures
(boolean enableExperimentalFeatures) Should experimental features for the driver be enabled.TheEpochClock
as a source of time in milliseconds for wall clock time.epochClock
(EpochClock clock) TheEpochClock
as a source of time in milliseconds for wall clock time.int
Length of theDistinctErrorLog
buffer for recording exceptions.errorBufferLength
(int length) Length of theDistinctErrorLog
buffer for recording exceptions.ErrorHandler
to be used for reporting errors duringAgent
s operations.errorHandler
(ErrorHandler errorHandler) ErrorHandler
to be used for reporting errors duringAgent
s operations.errorLog()
Log to which exceptions are recorded.errorLog
(DistinctErrorLog errorLog) Log to which exceptions are recorded.int
Page size for alignment of all files.filePageSize
(int filePageSize) Page size for alignment of all files.int
Get the default min group size used by flow control strategies to indicate connectivity.flowControlGroupMinSize
(int groupSize) Set the default min group size used by flow control strategies to indicate connectivity.long
Get the default group tag (gtag) to be used by the tagged flow control strategy.flowControlGroupTag
(long groupTag) Set the default group tag (gtag) to be used by the tagged flow control strategy.long
Timeout for min multicast flow control strategy.flowControlReceiverTimeoutNs
(long timeoutNs) Timeout for min multicast flow control strategy.long
Time in nanoseconds an Image will be kept alive for its subscribers to consume it once disconnected.imageLivenessTimeoutNs
(long timeout) Time in nanoseconds an Image will be kept alive after for its subscribers to consume it once disconnected.int
The initial window for in flight data on a connection which must be less thanConfiguration.SOCKET_RCVBUF_LENGTH_PROP_NAME
.initialWindowLength
(int initialWindowLength) The initial window for in flight data on a connection which must be less thanConfiguration.SOCKET_RCVBUF_LENGTH_PROP_NAME
.int
MTU in bytes for datagrams sent over shared memory.ipcMtuLength
(int ipcMtuLength) MTU in bytes for datagrams sent over shared memory.int
Default length for a term buffer window on an IPC publication.ipcPublicationTermWindowLength
(int termWindowLength) Default length for a term buffer window on an IPC publication.int
Default length for a term buffer on an IPC publication.ipcTermBufferLength
(int termBufferLength) Default length for a term buffer on an IPC publication.int
The length in bytes of the loss report buffer.lossReportBufferLength
(int length) The length in bytes of the loss report buffer.long
Get the threshold in bytes below which storage warnings are issued.lowStorageWarningThreshold
(long lowStorageWarningThreshold) Get the threshold in bytes below which storage warnings are issued.int
Returns the number of outstanding retransmits.maxResend
(int maxResend) Sets the number of outstanding retransmits.int
MTU in bytes for datagrams sent to the network.mtuLength
(int mtuLength) MTU in bytes for datagrams sent to the network.FeedbackDelayGenerator
for controlling the delay of sending NAK feedback on multicast.multicastFeedbackDelayGenerator
(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the delay of sending NAK feedback on multicast.Supplier of dynamically createdFlowControl
strategies for multicast connections.multicastFlowControlSupplier
(FlowControlSupplier flowControlSupplier) Supplier of dynamically createdFlowControl
strategies for multicast connections.int
Estimate of the multicast receiver group size on a stream.nakMulticastGroupSize
(int nakMulticastGroupSize) Estimate of the multicast receiver group size on a stream.long
The maximum time to backoff before sending a NAK on multicast.nakMulticastMaxBackoffNs
(long nakMulticastMaxBackoffNs) The maximum time to backoff before sending a NAK on multicast.long
The delay before retransmission after an NAK on unicast.nakUnicastDelayNs
(long nakUnicastDelayNs) The delay before retransmission after an NAK on unicast.long
The ratio to apply to the retry delay for unicast.nakUnicastRetryDelayRatio
(long nakUnicastRetryDelayRatio) The ratio to apply to the retry delay for unicast.Get theNameResolver
to use for resolving endpoints and control names.nameResolver
(NameResolver nameResolver) Set theNameResolver
to use for resolving endpoints and control names.long
Threshold for theNameResolver
which when exceed it will increment theSystemCounterDescriptor.NAME_RESOLVER_TIME_THRESHOLD_EXCEEDED
counter.nameResolverThresholdNs
(long thresholdNs) Set a threshold for theNameResolver
which when exceed it will increment theSystemCounterDescriptor.NAME_RESOLVER_TIME_THRESHOLD_EXCEEDED
counter.Duty cycle tracker used for theNameResolver
.nameResolverTimeTracker
(DutyCycleTracker dutyCycleTracker) Set the duty cycle tracker used for theNameResolver
.TheNanoClock
as a source of time in nanoseconds for measuring duration.TheNanoClock
as a source of time in nanoseconds for measuring duration.boolean
Should the driver perform storage checks when allocating files.performStorageChecks
(boolean performStorageChecks) Should the driver perform storage checks when allocating files.boolean
Should the driver print its configuration on start toSystem.out
at the end ofconclude()
.printConfigurationOnStart
(boolean printConfigurationOnStart) Should the driver print its configuration on start toSystem.out
at the end ofconclude()
.long
Timeout in nanoseconds after which a publication will be considered not connected if no status messages are received.publicationConnectionTimeoutNs
(long timeoutNs) Timeout in nanoseconds after which a publication will be considered not connected if no status messages are received.long
Time in nanoseconds a publication will linger once it is drained to recover potential tail loss.publicationLingerTimeoutNs
(long timeoutNs) Time in nanoseconds a publication will linger once it is drained to recover potential tail loss.int
High end of the publication reserved session id range which will not be automatically assigned.publicationReservedSessionIdHigh
(int sessionId) High end of the publication reserved session id range which will not be automatically assigned.int
Low end of the publication reserved session id range which will not be automatically assigned.publicationReservedSessionIdLow
(int sessionId) Low end of the publication reserved session id range which will not be automatically assigned.int
Default length for a term buffer on a network publication.publicationTermBufferLength
(int termBufferLength) Default length for a term buffer on a network publication.int
Default length for a term buffer window on a network publication.publicationTermWindowLength
(int termWindowLength) Default length for a term buffer window on a network publication.long
Timeout in nanoseconds after which a publication will be unblocked if an offer is partially complete to allow other publishers to make progress.publicationUnblockTimeoutNs
(long timeoutNs) Timeout in nanoseconds after which a publication will be unblocked if an offer is partially complete to allow other publishers to make progress.Supplier of dynamically createdReceiveChannelEndpoint
subclasses for specialising interactions with the receiving side of a network channel.Supplier of dynamically createdReceiveChannelEndpoint
subclasses for specialising interactions with the receiving side of a network channel.The thread local buffers and associated objects for use by subclasses ofReceiveChannelEndpoint
.The thread local buffers and associated objects for use by subclasses ofReceiveChannelEndpoint
.TheCachedNanoClock
as a source of time in nanoseconds for measuring duration.TheCachedNanoClock
as a source of time in nanoseconds for measuring duration for theReceiver
.long
Threshold for the receiver work cycle time which when exceed it will increment theSystemCounterDescriptor.RECEIVER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.receiverCycleThresholdNs
(long thresholdNs) Set a threshold for the receiver work cycle time which when exceed it will increment theSystemCounterDescriptor.RECEIVER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.Duty cycle tracker used for the receiver.receiverDutyCycleTracker
(DutyCycleTracker dutyCycleTracker) Set the duty cycle tracker used for the receiver.Should network subscriptions be considered part of a group even if using a unicast endpoint, should it be considered an individual even if using a multicast endpoint, or should the use of a unicast/multicast endpoint infer the usage.receiverGroupConsideration
(CommonContext.InferableBoolean receiverGroupConsideration) Should network subscriptions be considered part of a group even if using a unicast endpoint, should it be considered an individual even if using a multicast endpoint, or should the use of a unicast/multicast endpoint infer the usage.Get the group tag (gtag) to be sent in Status Messages from the Receiver.receiverGroupTag
(Long groupTag) Set the group tag (gtag) to be sent in Status Messages from the Receiver.receiverIdleStrategy
(IdleStrategy strategy) Port manager used for theReceiver
.receiverPortManager
(PortManager portManager) Set thePortManager
used for theReceiver
.ThreadFactory
to be used for creating agent thread for theReceiver
when running inThreadingMode.DEDICATED
.receiverThreadFactory
(ThreadFactory factory) ThreadFactory
to be used for creating agent thread for theReceiver
when running inThreadingMode.DEDICATED
.Wildcard port range used for the Receiver.receiverWildcardPortRange
(String portRange) Set the wildcard port range to be used for the Receiver.boolean
Does a subscription attempt to rejoin an unavailable stream after a cooldown or not.rejoinStream
(boolean rejoinStream) Does a subscription attempt to rejoin an unavailable stream after a cooldown or not.boolean
Does a stream NAK when loss is detected, reliable=true, or gap fill, reliable=false.reliableStream
(boolean reliableStream) Does a stream NAK when loss is detected, reliable=true, or gap fill, reliable=false.long
Get the interval for checking if a re-resolution for endpoints and controls should be done.reResolutionCheckIntervalNs
(long reResolutionCheckIntervalNs) Set the interval for checking if a re-resolution for endpoints and controls should be done.Get the bootstrap neighbor of theMediaDriver
for name resolver purposes.resolverBootstrapNeighbor
(String resolverBootstrapNeighbor) Set the bootstrap neighbor of theMediaDriver
for name resolver purposes.Get the interface of theMediaDriver
for name resolver purposes.resolverInterface
(String resolverInterface) Set the interface of theMediaDriver
for name resolver purposes.Get the name of theMediaDriver
for name resolver purposes.resolverName
(String resolverName) Set the name of theMediaDriver
for name resolver purposes.int
Maximum number ofDriverManagedResource
s to free within a single duty cycle of the conductor.resourceFreeLimit
(int resourceFreeLimit) Maximum number ofDriverManagedResource
s to free within a single duty cycle of the conductor.FeedbackDelayGenerator
for controlling the delay before sending a retransmit frame.retransmitUnicastDelayGenerator
(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the delay before sending a retransmit frame.long
The delay before retransmitting after a NAK.retransmitUnicastDelayNs
(long retransmitUnicastDelayNs) The delay before retransmitting after a NAK.FeedbackDelayGenerator
for controlling the linger after a retransmit.retransmitUnicastLingerGenerator
(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the time to linger after a retransmit frame is sent.long
How long to linger after delay on a NAK before responding to another NAK.retransmitUnicastLingerNs
(long retransmitUnicastLingerNs) How long to linger after delay on a NAK before responding to another NAK.Supplier of dynamically createdSendChannelEndpoint
subclasses for specialising interactions with the send side of a network channel.Supplier of dynamically createdSendChannelEndpoint
subclasses for specialising interactions with the send side of a network channel.TheCachedNanoClock
as a source of time in nanoseconds for measuring duration.TheCachedNanoClock
as a source of time in nanoseconds for measuring duration for theSender
.long
Threshold for the sender work cycle time which when exceed it will increment theSystemCounterDescriptor.SENDER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.senderCycleThresholdNs
(long thresholdNs) Set a threshold for the sender work cycle time which when exceed it will increment theSystemCounterDescriptor.SENDER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.Duty cycle tracker used for the sender.senderDutyCycleTracker
(DutyCycleTracker dutyCycleTracker) Set the duty cycle tracker used for the sender.senderIdleStrategy
(IdleStrategy strategy) Port manager used for theSender
.senderPortManager
(PortManager portManager) Set thePortManager
used for theSender
.ThreadFactory
to be used for creating agent thread for theSender
when running inThreadingMode.DEDICATED
.senderThreadFactory
(ThreadFactory factory) ThreadFactory
to be used for creating agent thread for theSender
when running inThreadingMode.DEDICATED
.Wildcard port range used for the Sender.senderWildcardPortRange
(String portRange) Set the wildcard port range to be used for the Sender.int
Get the ratio for sending data to polling status messages in the Sender.sendToStatusMessagePollRatio
(int ratio) Set the ratio for sending data to polling status messages in the Sender.IdleStrategy
to be used by theSender
,Receiver
andDriverConductor
agents when inThreadingMode.SHARED
.sharedIdleStrategy
(IdleStrategy strategy) IdleStrategy
to be used by theSender
,Receiver
andDriverConductor
agents when inThreadingMode.SHARED
.sharedNetworkIdleStrategy
(IdleStrategy strategy) ThreadFactory
to be used for creating agent thread for the sender and receiver agents as aCompositeAgent
when running inThreadingMode.SHARED_NETWORK
.sharedNetworkThreadFactory
(ThreadFactory factory) ThreadFactory
to be used for creating agent thread for the sender and receiver agents as aCompositeAgent
when running inThreadingMode.SHARED_NETWORK
.ThreadFactory
to be used for creating agent thread for the all driver agents as aCompositeAgent
when running inThreadingMode.SHARED
.sharedThreadFactory
(ThreadFactory factory) ThreadFactory
to be used for creating agent thread for the all driver agents as aCompositeAgent
when running inThreadingMode.SHARED
.int
The TTL value to be used for multicast sockets.socketMulticastTtl
(int ttl) TTL value to be used for multicast sockets.int
The socket send buffer length which is the OS SO_RCVBUF.socketRcvbufLength
(int socketRcvbufLength) The socket send buffer length which is the OS SO_RCVBUF.int
The socket send buffer length which is the OS SO_SNDBUF.socketSndbufLength
(int socketSndbufLength) The socket send buffer length which is the OS SO_SNDBUF.boolean
Does a spy subscription simulate a connection to a network publication.spiesSimulateConnection
(boolean spiesSimulateConnection) Does a spy subscription simulate a connection to a network publication.long
Time in nanoseconds after which a status message will be sent if data is flowing slowly.statusMessageTimeoutNs
(long statusMessageTimeoutNs) Time in nanoseconds after which a status message will be sent if data is flowing slowly.int
Get the limit on the number of sessions allow per stream for subscriptions.streamSessionLimit
(int sessionLimit) Set the limit on the number of sessions allow per stream for subscriptions.TheSystemCounters
for the driver for recording aggregate events of system status.systemCounters
(SystemCounters systemCounters) TheSystemCounters
for the driver for recording aggregate events of system status.The temporary buffer than can be used to build up counter labels to avoid allocation.tempBuffer
(MutableDirectBuffer tempBuffer) Set the temporary buffer than can be used to build up counter labels to avoid allocation.boolean
Should the term buffers be created with sparse files?termBufferSparseFile
(boolean termBufferSparseFile) Should the term buffer be created with sparse files?Get theRunnable
that is called when theMediaDriver
processes a valid termination request.terminationHook
(Runnable terminationHook) Set theRunnable
that is called when theMediaDriver
processes a valid termination request.Get theTerminationValidator
to be used to validate termination requests.terminationValidator
(TerminationValidator validator) Set theTerminationValidator
to be used to validate termination requests.boolean
Do subscriptions have a tether, so they participate in local flow control when more than one.tetherSubscriptions
(boolean tetherSubscription) Do subscriptions have a tether so, they participate in local flow control when more than one.ThreadingMode
that should be used for the driver.threadingMode
(ThreadingMode threadingMode) ThreadingMode
that should be used for the driver.long
Interval in nanoseconds between checks for timers and timeouts.timerIntervalNs
(long timerIntervalNs) Interval in nanoseconds between checks for timers and timeouts.int
Length of theBroadcastTransmitter
buffer for sending events to the clients.toClientsBufferLength
(int length) Length of theBroadcastTransmitter
buffer for sending events to the clients.toString()
FeedbackDelayGenerator
for controlling the delay of sending NAK feedback on unicast.unicastFeedbackDelayGenerator
(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the delay of sending NAK feedback on unicast.Supplier of dynamically createdFlowControl
strategies for unicast connections.unicastFlowControlSupplier
(FlowControlSupplier flowControlSupplier) Supplier of dynamically createdFlowControl
strategies for unicast connections.long
Timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.untetheredRestingTimeoutNs
(long timeoutNs) Timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.long
The timeout for when an untethered subscription that is outside the window will participate in local flow control.untetheredWindowLimitTimeoutNs
(long timeoutNs) The timeout for when an untethered subscription that is outside the window will participate in local flow control.boolean
Should aConcurrentCountersManager
be used to allow for cross thread usage.useConcurrentCountersManager
(boolean useConcurrentCountersManager) Should aConcurrentCountersManager
be used to allow for cross thread usage.boolean
Should an attempt be made to use the high resolution timers for waiting on Windows.useWindowsHighResTimer
(boolean useWindowsHighResTimers) Should an attempt be made to use the high resolution timers for waiting on Windows.boolean
Should a warning be issued if theCommonContext.aeronDirectoryName()
exists?warnIfDirectoryExists
(boolean warnIfDirectoryExists) Should a warning be issued if theCommonContext.aeronDirectoryName()
exists?Methods inherited from class io.aeron.CommonContext
aeronDirectory, aeronDirectoryName, checkDebugTimeout, checkDebugTimeout, cncFile, concludeAeronDirectory, countersMetaDataBuffer, countersValuesBuffer, deleteAeronDirectory, driverTimeoutMs, enableExperimentalFeatures, errorLogBuffer, fallbackLogger, generateRandomDirName, getAeronDirectoryName, getSecureRandomAlgorithm, isConcluded, isDriverActive, isDriverActive, isDriverActive, mapExistingCncFile, newCncFile, newDefaultCncFile, printErrorLog, requestDriverTermination, saveErrorLog, saveErrorLog, saveExistingErrors, setupErrorHandler, shouldPrintConfigurationOnStart
-
Constructor Details
-
Context
public Context()
-
-
Method Details
-
clone
Perform a shallow copy of the object.- Overrides:
clone
in classCommonContext
- Returns:
- a shallow copy of the object.
-
close
public void close()Free up resources but don't delete files in case they are required for debugging unlessdirDeleteOnShutdown()
is set.- Overrides:
close
in classCommonContext
-
conclude
This completes initialization of the CommonContext object. It is automatically called by subclasses.- Overrides:
conclude
in classCommonContext
- Returns:
- this Object for method chaining.
-
deleteDirectory
public void deleteDirectory()Delete the directory used by theMediaDriver
which delegates toCommonContext.deleteAeronDirectory()
. -
aeronDirectoryName
Set the top level Aeron directory used for communication between the client and Media Driver, and the location of the data buffers.- Overrides:
aeronDirectoryName
in classCommonContext
- Parameters:
dirName
- New top level Aeron directory.- Returns:
- this for a fluent API.
-
driverTimeoutMs
Set the driver timeout in milliseconds.- Overrides:
driverTimeoutMs
in classCommonContext
- Parameters:
value
- to indicate liveness of driver- Returns:
- this for a fluent API.
-
countersMetaDataBuffer
Set the buffer containing the counter metadata. Testing/internal purposes only.- Overrides:
countersMetaDataBuffer
in classCommonContext
- Parameters:
countersMetaDataBuffer
- The new counter metadata buffer.- Returns:
- this for a fluent API.
-
countersValuesBuffer
Set the buffer containing the counters. Testing/internal purposes only.- Overrides:
countersValuesBuffer
in classCommonContext
- Parameters:
countersValuesBuffer
- The new counters buffer.- Returns:
- this for a fluent API.
-
printConfigurationOnStart
public boolean printConfigurationOnStart()Should the driver print its configuration on start toSystem.out
at the end ofconclude()
.- Returns:
- true if the configuration should be printed on start.
- See Also:
-
printConfigurationOnStart
Should the driver print its configuration on start toSystem.out
at the end ofconclude()
.- Parameters:
printConfigurationOnStart
- if the configuration should be printed on start.- Returns:
- this for a fluent API.
- See Also:
-
useWindowsHighResTimer
Should an attempt be made to use the high resolution timers for waiting on Windows.- Parameters:
useWindowsHighResTimers
- Should an attempt be made to use the high-res timers for waiting on Windows.- Returns:
- this for a fluent API.
- See Also:
-
useWindowsHighResTimer
public boolean useWindowsHighResTimer()Should an attempt be made to use the high resolution timers for waiting on Windows.- Returns:
- true if an attempt be made to use the high resolution timers for waiting on Windows.
- See Also:
-
warnIfDirectoryExists
public boolean warnIfDirectoryExists()Should a warning be issued if theCommonContext.aeronDirectoryName()
exists?- Returns:
- should a warning be issued if the
CommonContext.aeronDirectoryName()
exists? - See Also:
-
warnIfDirectoryExists
Should a warning be issued if theCommonContext.aeronDirectoryName()
exists?- Parameters:
warnIfDirectoryExists
- warn if theCommonContext.aeronDirectoryName()
exists?- Returns:
- this for a fluent API.
- See Also:
-
dirDeleteOnStart
public boolean dirDeleteOnStart()Will the driver attempt to immediately deleteCommonContext.aeronDirectoryName()
on startup. WARNING:CommonContext.aeronDirectoryName()
will be recreated regardless, unless set to false and an active Media Driver is detected.- Returns:
- true when directory will be recreated without checks, otherwise false.
- See Also:
-
dirDeleteOnStart
Should the driver attempt to immediately deleteCommonContext.aeronDirectoryName()
on startup. WARNING:CommonContext.aeronDirectoryName()
will be recreated regardless, unless set to false and an active Media Driver is detected.- Parameters:
dirDeleteOnStart
- Attempt deletion without checks.- Returns:
- this for a fluent API.
- See Also:
-
dirDeleteOnShutdown
public boolean dirDeleteOnShutdown()Will the driver attempt to deleteCommonContext.aeronDirectoryName()
on shutdown.- Returns:
- true when directory will be deleted, otherwise false.
- See Also:
-
dirDeleteOnShutdown
Should the driver attempt to deleteCommonContext.aeronDirectoryName()
on shutdown.- Parameters:
dirDeleteOnShutdown
- Attempt deletion.- Returns:
- this for a fluent API.
- See Also:
-
termBufferSparseFile
public boolean termBufferSparseFile()Should the term buffers be created with sparse files?- Returns:
- should the term buffers be created with sparse files?
- See Also:
-
termBufferSparseFile
Should the term buffer be created with sparse files?- Parameters:
termBufferSparseFile
- should the term buffers be created with sparse files?- Returns:
- this for a fluent API.
- See Also:
-
conductorBufferLength
public int conductorBufferLength()Length of theRingBuffer
for sending commands to the driver conductor from clients.- Returns:
- length of the
RingBuffer
for sending commands to the driver conductor from clients. - See Also:
-
conductorBufferLength
Length of theRingBuffer
for sending commands to the driver conductor from clients.- Parameters:
length
- of theRingBuffer
for sending commands to the driver conductor from clients.- Returns:
- this for a fluent API.
- See Also:
-
toClientsBufferLength
public int toClientsBufferLength()Length of theBroadcastTransmitter
buffer for sending events to the clients.- Returns:
- length of the
BroadcastTransmitter
buffer for sending events to the clients. - See Also:
-
toClientsBufferLength
Length of theBroadcastTransmitter
buffer for sending events to the clients.- Parameters:
length
- of theBroadcastTransmitter
buffer for sending events to the clients.- Returns:
- this for a fluent API.
- See Also:
-
counterValuesBufferLength
public int counterValuesBufferLength()Length of the buffer for storing values by theCountersManager
.- Returns:
- length of the buffer for storing values by the
CountersManager
. - See Also:
-
counterValuesBufferLength
Length of the buffer for storing values by theCountersManager
.- Parameters:
length
- of the buffer for storing values by theCountersManager
.- Returns:
- this for a fluent API.
- See Also:
-
errorBufferLength
public int errorBufferLength()Length of theDistinctErrorLog
buffer for recording exceptions.- Returns:
- length of the
DistinctErrorLog
buffer for recording exceptions. - See Also:
-
errorBufferLength
Length of theDistinctErrorLog
buffer for recording exceptions.- Parameters:
length
- of theDistinctErrorLog
buffer for recording exceptions.- Returns:
- this for a fluent API.
- See Also:
-
performStorageChecks
public boolean performStorageChecks()Should the driver perform storage checks when allocating files.- Returns:
- true if the driver should perform storage checks when allocating files.
- See Also:
-
performStorageChecks
Should the driver perform storage checks when allocating files.- Parameters:
performStorageChecks
- true if the driver should perform storage checks when allocating files.- Returns:
- this for a fluent API.
- See Also:
-
lowStorageWarningThreshold
public long lowStorageWarningThreshold()Get the threshold in bytes below which storage warnings are issued.- Returns:
- the threshold below which storage warnings are issued.
- See Also:
-
lowStorageWarningThreshold
Get the threshold in bytes below which storage warnings are issued.- Parameters:
lowStorageWarningThreshold
- to be set in bytes.- Returns:
- this for a fluent API.
- See Also:
-
lossReportBufferLength
public int lossReportBufferLength()The length in bytes of the loss report buffer.- Returns:
- the length in bytes of the loss report buffer.
- See Also:
-
lossReportBufferLength
The length in bytes of the loss report buffer.- Parameters:
length
- of the buffer to be used for the loss report.- Returns:
- this for a fluent API.
- See Also:
-
filePageSize
public int filePageSize()Page size for alignment of all files.- Returns:
- page size for alignment of all files.
- See Also:
-
filePageSize
Page size for alignment of all files.- Parameters:
filePageSize
- for alignment of file sizes.- Returns:
- this for a fluent API.
- See Also:
-
timerIntervalNs
public long timerIntervalNs()Interval in nanoseconds between checks for timers and timeouts.- Returns:
- nanoseconds between checks for timers and timeouts.
- See Also:
-
timerIntervalNs
Interval in nanoseconds between checks for timers and timeouts.- Parameters:
timerIntervalNs
- nanoseconds between checks for timers and timeouts.- Returns:
- this for a fluent API.
- See Also:
-
imageLivenessTimeoutNs
public long imageLivenessTimeoutNs()Time in nanoseconds an Image will be kept alive for its subscribers to consume it once disconnected.- Returns:
- nanoseconds that an Image will be kept alive for its subscribers to consume it.
- See Also:
-
imageLivenessTimeoutNs
Time in nanoseconds an Image will be kept alive after for its subscribers to consume it once disconnected.- Parameters:
timeout
- for keeping an image alive for its subscribers to consume it.- Returns:
- this for a fluent API.
- See Also:
-
publicationLingerTimeoutNs
public long publicationLingerTimeoutNs()Time in nanoseconds a publication will linger once it is drained to recover potential tail loss.- Returns:
- nanoseconds that a publication will linger once it is drained.
- See Also:
-
publicationLingerTimeoutNs
Time in nanoseconds a publication will linger once it is drained to recover potential tail loss.- Parameters:
timeoutNs
- for keeping a publication once it is drained.- Returns:
- this for a fluent API.
- See Also:
-
untetheredWindowLimitTimeoutNs
public long untetheredWindowLimitTimeoutNs()The timeout for when an untethered subscription that is outside the window will participate in local flow control.- Returns:
- timeout that an untethered subscription outside the window limit will participate in flow control.
- See Also:
-
untetheredWindowLimitTimeoutNs
The timeout for when an untethered subscription that is outside the window will participate in local flow control.- Parameters:
timeoutNs
- that an untethered subscription outside the window limit will participate in flow control.- Returns:
- this for a fluent API.
- See Also:
-
untetheredRestingTimeoutNs
public long untetheredRestingTimeoutNs()Timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.- Returns:
- timeout that an untethered subscription is resting before being allowed to rejoin a stream.
- See Also:
-
untetheredRestingTimeoutNs
Timeout for when an untethered subscription is resting after not being able to keep up before it is allowed to rejoin a stream.- Parameters:
timeoutNs
- that an untethered subscription is resting before being allowed to rejoin a stream.- Returns:
- this for a fluent API.
- See Also:
-
retransmitUnicastDelayNs
public long retransmitUnicastDelayNs()The delay before retransmitting after a NAK.- Returns:
- delay before retransmitting after a NAK.
- See Also:
-
retransmitUnicastDelayNs
The delay before retransmitting after a NAK.- Parameters:
retransmitUnicastDelayNs
- delay before retransmitting after a NAK.- Returns:
- this for a fluent API.
- See Also:
-
retransmitUnicastLingerNs
public long retransmitUnicastLingerNs()How long to linger after delay on a NAK before responding to another NAK.- Returns:
- how long to linger after delay on a NAK before responding to another NAK.
- See Also:
-
retransmitUnicastLingerNs
How long to linger after delay on a NAK before responding to another NAK.- Parameters:
retransmitUnicastLingerNs
- how long to linger after delay on a NAK before responding to another NAK.- Returns:
- this for a fluent API.
- See Also:
-
nakUnicastDelayNs
public long nakUnicastDelayNs()The delay before retransmission after an NAK on unicast.- Returns:
- delay before retransmitting after a NAK.
- See Also:
-
nakUnicastDelayNs
The delay before retransmission after an NAK on unicast.- Parameters:
nakUnicastDelayNs
- delay before retransmission after an NAK on unicast.- Returns:
- this for a fluent API.
- See Also:
-
nakUnicastRetryDelayRatio
public long nakUnicastRetryDelayRatio()The ratio to apply to the retry delay for unicast.- Returns:
- ratio to apply to the retry delay for unicast
- See Also:
-
nakUnicastRetryDelayRatio
The ratio to apply to the retry delay for unicast. This will be a multiplier applied to thenakUnicastDelayNs
when constructing theStaticDelayGenerator
used for handling delays on unicast NAKs.- Parameters:
nakUnicastRetryDelayRatio
- to multiply thenakUnicastDelayNs
by to calculate the retry delay.- Returns:
- this for a fluent API.
- See Also:
-
nakMulticastMaxBackoffNs
public long nakMulticastMaxBackoffNs()The maximum time to backoff before sending a NAK on multicast.- Returns:
- maximum time to backoff before sending a NAK on multicast.
- See Also:
-
nakMulticastMaxBackoffNs
The maximum time to backoff before sending a NAK on multicast.- Parameters:
nakMulticastMaxBackoffNs
- maximum time to backoff before sending a NAK on multicast.- Returns:
- this for a fluent API.
- See Also:
-
nakMulticastGroupSize
public int nakMulticastGroupSize()Estimate of the multicast receiver group size on a stream.- Returns:
- estimate of the multicast receiver group size on a stream.
- See Also:
-
nakMulticastGroupSize
Estimate of the multicast receiver group size on a stream.- Parameters:
nakMulticastGroupSize
- estimate of the multicast receiver group size on a stream.- Returns:
- this for a fluent API.
- See Also:
-
clientLivenessTimeoutNs
public long clientLivenessTimeoutNs()Time in nanoseconds after which a client is considered dead if a keep alive is not received.- Returns:
- time in nanoseconds after which a client is considered dead if a keep alive is not received.
- See Also:
-
clientLivenessTimeoutNs
Time in nanoseconds after which a client is considered dead if a keep alive is not received.- Parameters:
timeoutNs
- in nanoseconds after which a client is considered dead if a keep alive is not received.- Returns:
- this for a fluent API.
- See Also:
-
statusMessageTimeoutNs
public long statusMessageTimeoutNs()Time in nanoseconds after which a status message will be sent if data is flowing slowly.- Returns:
- time in nanoseconds after which a status message will be sent if data is flowing slowly.
- See Also:
-
statusMessageTimeoutNs
Time in nanoseconds after which a status message will be sent if data is flowing slowly.- Parameters:
statusMessageTimeoutNs
- after which a status message will be sent if data is flowing slowly.- Returns:
- this for a fluent API.
- See Also:
-
counterFreeToReuseTimeoutNs
public long counterFreeToReuseTimeoutNs()Time in nanoseconds after which a freed counter may be reused.- Returns:
- time in nanoseconds after which a freed counter may be reused.
- See Also:
-
counterFreeToReuseTimeoutNs
Time in nanoseconds after which a freed counter may be reused.- Parameters:
counterFreeToReuseTimeoutNs
- after which a freed counter may be reused.- Returns:
- this for a fluent API.
- See Also:
-
publicationUnblockTimeoutNs
public long publicationUnblockTimeoutNs()Timeout in nanoseconds after which a publication will be unblocked if an offer is partially complete to allow other publishers to make progress.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:
- timeout in nanoseconds after which a publication will be unblocked.
- See Also:
-
publicationUnblockTimeoutNs
Timeout in nanoseconds after which a publication will be unblocked if an offer is partially complete to allow other publishers to make progress.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()
.- Parameters:
timeoutNs
- in nanoseconds after which a publication will be unblocked.- Returns:
- this for a fluent API.
- See Also:
-
publicationConnectionTimeoutNs
public long publicationConnectionTimeoutNs()Timeout in nanoseconds after which a publication will be considered not connected if no status messages are received.- Returns:
- timeout in nanoseconds after which a publication is considered not connected.
- See Also:
-
publicationConnectionTimeoutNs
Timeout in nanoseconds after which a publication will be considered not connected if no status messages are received.- Parameters:
timeoutNs
- in nanoseconds after which a publication will be considered not connected.- Returns:
- this for a fluent API.
- See Also:
-
spiesSimulateConnection
public boolean spiesSimulateConnection()Does a spy subscription 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 a spy subscription should simulate a connection to a network publication.
- See Also:
-
spiesSimulateConnection
Does a spy subscription 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.
- Parameters:
spiesSimulateConnection
- true if a spy subscription simulates a connection to a network publication.- Returns:
- this for a fluent API.
- See Also:
-
reliableStream
public boolean reliableStream()Does a stream NAK when loss is detected, reliable=true, or gap fill, reliable=false.The default can be overridden with a channel param.
- Returns:
- true if NAK on loss to be reliable otherwise false for gap fill.
- See Also:
-
reliableStream
Does a stream NAK when loss is detected, reliable=true, or gap fill, reliable=false.The default can be overridden with a channel param.
- Parameters:
reliableStream
- true if a stream should NAK on loss otherwise gap fill.- Returns:
- this for a fluent API.
- See Also:
-
tetherSubscriptions
public boolean tetherSubscriptions()Do subscriptions have a tether, so they participate in local flow control when more than one.The default can be overridden with a channel param.
- Returns:
- true if subscriptions should have a tether for local flow control.
- See Also:
-
tetherSubscriptions
Do subscriptions have a tether so, they participate in local flow control when more than one.The default can be overridden with a channel param.
- Parameters:
tetherSubscription
- true if subscriptions should have a tether for local flow control.- Returns:
- this for a fluent API.
- See Also:
-
receiverGroupConsideration
Should network subscriptions be considered part of a group even if using a unicast endpoint, should it be considered an individual even if using a multicast endpoint, or should the use of a unicast/multicast endpoint infer the usage.The default can be overridden with a channel param.
- Returns:
- FORCE_TRUE if subscriptions should be considered a group member, FORCE_FALSE if not, or depends on endpoint.
- See Also:
-
receiverGroupConsideration
public MediaDriver.Context receiverGroupConsideration(CommonContext.InferableBoolean receiverGroupConsideration) Should network subscriptions be considered part of a group even if using a unicast endpoint, should it be considered an individual even if using a multicast endpoint, or should the use of a unicast/multicast endpoint infer the usage.The default can be overridden with a channel param.
- Parameters:
receiverGroupConsideration
- true if subscriptions should be considered a group member, false if not, or infer from endpoint.- Returns:
- this for a fluent API.
- See Also:
-
rejoinStream
public boolean rejoinStream()Does a subscription attempt to rejoin an unavailable stream after a cooldown or not.The default can be overridden with a channel param.
- Returns:
- true if subscription will rejoin after cooldown or false if not.
- See Also:
-
rejoinStream
Does a subscription attempt to rejoin an unavailable stream after a cooldown or not.The default can be overridden with a channel param.
- Parameters:
rejoinStream
- true if subscription will rejoin after cooldown or false if not.- Returns:
- this for a fluent API.
- See Also:
-
publicationTermBufferLength
public int publicationTermBufferLength()Default length for a term buffer on a network publication.- Returns:
- default length for a term buffer on a network publication.
- See Also:
-
publicationTermBufferLength
Default length for a term buffer on a network publication.This can be overridden on publication by using channel URI params.
- Parameters:
termBufferLength
- default length for a term buffer on a network publication.- Returns:
- this for a fluent API.
- See Also:
-
ipcTermBufferLength
public int ipcTermBufferLength()Default length for a term buffer on an IPC publication.- Returns:
- default length for a term buffer on an IPC publication.
- See Also:
-
ipcTermBufferLength
Default length for a term buffer on an IPC publication.This can be overridden on publication by using channel URI params.
- Parameters:
termBufferLength
- default length for a term buffer on an IPC publication.- Returns:
- this for a fluent API.
- See Also:
-
publicationTermWindowLength
public int publicationTermWindowLength()Default length for a term buffer window on a network publication.- Returns:
- default length for a term buffer window on a network publication.
- See Also:
-
publicationTermWindowLength
Default length for a term buffer window on a network publication.- Parameters:
termWindowLength
- default length for a term buffer window on a network publication.- Returns:
- this for a fluent API.
- See Also:
-
ipcPublicationTermWindowLength
public int ipcPublicationTermWindowLength()Default length for a term buffer window on an IPC publication.- Returns:
- default length for a term buffer window on an IPC publication.
- See Also:
-
ipcPublicationTermWindowLength
Default length for a term buffer window on an IPC publication.- Parameters:
termWindowLength
- default length for a term buffer window on an IPC publication.- Returns:
- this for a fluent API.
- See Also:
-
initialWindowLength
public int initialWindowLength()The initial window for in flight data on a connection which must be less thanConfiguration.SOCKET_RCVBUF_LENGTH_PROP_NAME
. This needs to be configured for throughput respecting BDP.- Returns:
- The initial window for in flight data on a connection
- See Also:
-
initialWindowLength
The initial window for in flight data on a connection which must be less thanConfiguration.SOCKET_RCVBUF_LENGTH_PROP_NAME
. This needs to be configured for throughput respecting BDP.- Parameters:
initialWindowLength
- The initial window for in flight data on a connection- Returns:
- this for a fluent API.
- See Also:
-
socketSndbufLength
public int socketSndbufLength()The socket send buffer length which is the OS SO_SNDBUF.- Returns:
- the socket send buffer length.
- See Also:
-
socketSndbufLength
The socket send buffer length which is the OS SO_SNDBUF.- Parameters:
socketSndbufLength
- which is the OS SO_SNDBUF.- Returns:
- this for a fluent API.
- See Also:
-
socketRcvbufLength
public int socketRcvbufLength()The socket send buffer length which is the OS SO_RCVBUF.- Returns:
- the socket send buffer length.
- See Also:
-
socketRcvbufLength
The socket send buffer length which is the OS SO_RCVBUF.- Parameters:
socketRcvbufLength
- which is the OS SO_RCVBUF.- Returns:
- this for a fluent API.
- See Also:
-
socketMulticastTtl
public int socketMulticastTtl()The TTL value to be used for multicast sockets.- Returns:
- TTL value to be used for multicast sockets.
- See Also:
-
socketMulticastTtl
TTL value to be used for multicast sockets.- Parameters:
ttl
- value to be used for multicast sockets.- Returns:
- this for a fluent API.
- See Also:
-
mtuLength
public int mtuLength()MTU in bytes for datagrams sent to the network. Messages larger than this are fragmented.Larger MTUs reduce system call overhead at the expense of possible increase in loss which will need to be recovered. If this is greater than the network MTU for UDP then the packet will be fragmented and can amplify the impact of loss.
- Returns:
- MTU in bytes for datagrams sent to the network.
- See Also:
-
mtuLength
MTU in bytes for datagrams sent to the network. Messages larger than this are fragmented.Larger MTUs reduce system call overhead at the expense of possible increase in loss which will need to be recovered. If this is greater than the network MTU for UDP then the packet will be fragmented and can amplify the impact of loss.
- Parameters:
mtuLength
- in bytes for datagrams sent to the network.- Returns:
- this for a fluent API.
- See Also:
-
ipcMtuLength
public int ipcMtuLength()MTU in bytes for datagrams sent over shared memory. Messages larger than this are fragmented.Larger MTUs reduce fragmentation. If an IPC stream is recorded to be later sent over the network then a large MTU may be an issue.
- Returns:
- MTU in bytes for message fragments.
- See Also:
-
ipcMtuLength
MTU in bytes for datagrams sent over shared memory. Messages larger than this are fragmented.Larger MTUs reduce fragmentation. If an IPC stream is recorded to be later sent over the network then a large MTU may be an issue.
- Parameters:
ipcMtuLength
- in bytes for message fragments.- Returns:
- this for a fluent API.
- See Also:
-
epochClock
TheEpochClock
as a source of time in milliseconds for wall clock time.- Returns:
- the
EpochClock
as a source of time in milliseconds for wall clock time.
-
epochClock
TheEpochClock
as a source of time in milliseconds for wall clock time.- Parameters:
clock
- to be used.- Returns:
- this for a fluent API.
-
nanoClock
TheNanoClock
as a source of time in nanoseconds for measuring duration.- Returns:
- the
NanoClock
as a source of time in nanoseconds for measuring duration.
-
nanoClock
TheNanoClock
as a source of time in nanoseconds for measuring duration.- Parameters:
clock
- to be used.- Returns:
- this for a fluent API.
-
cachedEpochClock
TheCachedEpochClock
as a source of time in milliseconds for wall clock time.- Returns:
- the
CachedEpochClock
as a source of time in milliseconds for wall clock time.
-
cachedEpochClock
TheCachedEpochClock
as a source of time in milliseconds for wall clock time.- Parameters:
clock
- to be used.- Returns:
- this for a fluent API.
-
cachedNanoClock
TheCachedNanoClock
as a source of time in nanoseconds for measuring duration. This is updated once per work cycle of theDriverConductor
.- Returns:
- the
CachedNanoClock
as a source of time in nanoseconds for measuring duration.
-
cachedNanoClock
TheCachedNanoClock
as a source of time in nanoseconds for measuring duration for theDriverConductor
.- Parameters:
clock
- to be used.- Returns:
- this for a fluent API.
-
senderCachedNanoClock
TheCachedNanoClock
as a source of time in nanoseconds for measuring duration. This is updated once per work cycle of theSender
.- Returns:
- the
CachedNanoClock
as a source of time in nanoseconds for measuring duration.
-
senderCachedNanoClock
TheCachedNanoClock
as a source of time in nanoseconds for measuring duration for theSender
.- Parameters:
clock
- to be used.- Returns:
- this for a fluent API.
-
receiverCachedNanoClock
TheCachedNanoClock
as a source of time in nanoseconds for measuring duration. This is updated once per work cycle of theReceiver
.- Returns:
- the
CachedNanoClock
as a source of time in nanoseconds for measuring duration.
-
receiverCachedNanoClock
TheCachedNanoClock
as a source of time in nanoseconds for measuring duration for theReceiver
.- Parameters:
clock
- to be used.- Returns:
- this for a fluent API.
-
threadingMode
ThreadingMode
that should be used for the driver.- Returns:
ThreadingMode
that should be used for the driver.- See Also:
-
threadingMode
ThreadingMode
that should be used for the driver.- Parameters:
threadingMode
- that should be used for the driver.- Returns:
- this for a fluent API.
- See Also:
-
senderThreadFactory
ThreadFactory
to be used for creating agent thread for theSender
when running inThreadingMode.DEDICATED
.- Returns:
ThreadFactory
to be used for creating agent thread for theSender
.
-
senderThreadFactory
ThreadFactory
to be used for creating agent thread for theSender
when running inThreadingMode.DEDICATED
.If none is provided then this will default a simple new operation.
- Parameters:
factory
- to be used for creating agent thread for theSender
.- Returns:
- this for a fluent API.
-
receiverThreadFactory
ThreadFactory
to be used for creating agent thread for theReceiver
when running inThreadingMode.DEDICATED
.- Returns:
ThreadFactory
to be used for creating agent thread for theReceiver
.
-
receiverThreadFactory
ThreadFactory
to be used for creating agent thread for theReceiver
when running inThreadingMode.DEDICATED
.If none is provided then this will default a simple new operation.
- Parameters:
factory
- to be used for creating agent thread for theReceiver
.- Returns:
- this for a fluent API.
-
conductorThreadFactory
ThreadFactory
to be used for creating agent thread for theDriverConductor
when running inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.- Returns:
ThreadFactory
to be used for creating agent thread for theDriverConductor
.
-
conductorThreadFactory
ThreadFactory
to be used for creating agent thread for theDriverConductor
when running inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.If none is provided then this will default a simple new operation.
- Parameters:
factory
- to be used for creating agent thread for theDriverConductor
.- Returns:
- this for a fluent API.
-
asyncTaskExecutorThreads
public int asyncTaskExecutorThreads()Returns the number of threads for async task executor.- Returns:
- number of threads.
- Since:
- 1.44.0
- See Also:
-
asyncTaskExecutorThreads
Sets the number of threads for async task executor.- Parameters:
asyncTaskExecutorThreads
- number of async worker threads.- Returns:
- this for a fluent API.
- Since:
- 1.44.0
-
asyncTaskExecutor
Executor
to be used for asynchronous task execution in theDriverConductor
.- Returns:
- executor service for asynchronous tasks. If not explicitly assigned uses
asyncTaskExecutorThreads()
to size the thread pool. - Since:
- 1.44.0
-
asyncTaskExecutor
Executor
to be used for asynchronous task execution in theDriverConductor
.- Parameters:
asyncTaskExecutor
- to be used for asynchronous task execution in theDriverConductor
.- Returns:
- this for a fluent API.
- Since:
- 1.44.0
-
maxResend
public int maxResend()Returns the number of outstanding retransmits.- Returns:
- number of outstanding retransmits.
- Since:
- 1.45.0
- See Also:
-
maxResend
Sets the number of outstanding retransmits.- Parameters:
maxResend
- number of outstanding retransmits allowed.- Returns:
- this for a fluent API.
- Since:
- 1.45.0
-
senderIdleStrategy
- Returns:
IdleStrategy
to be used by theSender
when inThreadingMode.DEDICATED
.- See Also:
-
senderIdleStrategy
- Parameters:
strategy
- to be used by theSender
when inThreadingMode.DEDICATED
.- Returns:
- this for a fluent API.
- See Also:
-
receiverIdleStrategy
- Returns:
IdleStrategy
used by theReceiver
when inThreadingMode.DEDICATED
.- See Also:
-
receiverIdleStrategy
- Parameters:
strategy
- to be used by theReceiver
when inThreadingMode.DEDICATED
.- Returns:
- this for a fluent API.
- See Also:
-
conductorIdleStrategy
IdleStrategy
to be used by theDriverConductor
when inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.- Returns:
IdleStrategy
used by theDriverConductor
- See Also:
-
conductorIdleStrategy
IdleStrategy
to be used by theDriverConductor
when inThreadingMode.DEDICATED
orThreadingMode.SHARED_NETWORK
.- Parameters:
strategy
- to be used by theDriverConductor
.- Returns:
- this for a fluent API.
- See Also:
-
sendChannelEndpointSupplier
Supplier of dynamically createdSendChannelEndpoint
subclasses for specialising interactions with the send side of a network channel.- Returns:
- the supplier of dynamically created
SendChannelEndpoint
subclasses. - See Also:
-
sendChannelEndpointSupplier
Supplier of dynamically createdSendChannelEndpoint
subclasses for specialising interactions with the send side of a network channel.- Parameters:
supplier
- of dynamically createdSendChannelEndpoint
subclasses.- Returns:
- this for a fluent API.
- See Also:
-
receiveChannelEndpointSupplier
Supplier of dynamically createdReceiveChannelEndpoint
subclasses for specialising interactions with the receiving side of a network channel.- Returns:
- the supplier of dynamically created
ReceiveChannelEndpoint
subclasses. - See Also:
-
receiveChannelEndpointSupplier
Supplier of dynamically createdReceiveChannelEndpoint
subclasses for specialising interactions with the receiving side of a network channel.- Parameters:
supplier
- of dynamically createdReceiveChannelEndpoint
subclasses.- Returns:
- this for a fluent API.
- See Also:
-
receiveChannelEndpointThreadLocals
The thread local buffers and associated objects for use by subclasses ofReceiveChannelEndpoint
.- Returns:
- thread local buffers and associated objects for use by subclasses of
ReceiveChannelEndpoint
.
-
receiveChannelEndpointThreadLocals
public MediaDriver.Context receiveChannelEndpointThreadLocals(ReceiveChannelEndpointThreadLocals threadLocals) The thread local buffers and associated objects for use by subclasses ofReceiveChannelEndpoint
.- Parameters:
threadLocals
- for use by subclasses ofReceiveChannelEndpoint
.- Returns:
- this for a fluent API.
-
tempBuffer
The temporary buffer than can be used to build up counter labels to avoid allocation.- Returns:
- the temporary buffer than can be used to build up counter labels to avoid allocation.
-
tempBuffer
Set the temporary buffer than can be used to build up counter labels to avoid allocation.- Parameters:
tempBuffer
- to be used to avoid allocation.- Returns:
- the temporary buffer than can be used to build up counter labels to avoid allocation.
-
unicastFlowControlSupplier
Supplier of dynamically createdFlowControl
strategies for unicast connections.- Returns:
- supplier of dynamically created
FlowControl
strategies for unicast connections. - See Also:
-
unicastFlowControlSupplier
Supplier of dynamically createdFlowControl
strategies for unicast connections.- Parameters:
flowControlSupplier
- ofFlowControl
strategies for unicast connections.- Returns:
- this for a fluent API.
- See Also:
-
multicastFlowControlSupplier
Supplier of dynamically createdFlowControl
strategies for multicast connections.- Returns:
- supplier of dynamically created
FlowControl
strategies for multicast connections. - See Also:
-
multicastFlowControlSupplier
Supplier of dynamically createdFlowControl
strategies for multicast connections.- Parameters:
flowControlSupplier
- ofFlowControl
strategies for multicast connections.- Returns:
- this for a fluent API.
- See Also:
-
flowControlReceiverTimeoutNs
public long flowControlReceiverTimeoutNs()Timeout for min multicast flow control strategy.- Returns:
- timeout in ns.
- See Also:
-
flowControlReceiverTimeoutNs
Timeout for min multicast flow control strategy.- Parameters:
timeoutNs
- in ns.- Returns:
- this for a fluent API.
- See Also:
-
applicationSpecificFeedback
Deprecated.Application specific feedback used to identify a receiver group when using aTaggedMulticastFlowControl
strategy which is added to Status Messages (SMs).Replaced by
receiverGroupTag()
.- Returns:
- Application specific feedback used to identify receiver group for flow control.
- See Also:
-
applicationSpecificFeedback
Deprecated.Application specific feedback used to identify a receiver group when using aTaggedMulticastFlowControl
strategy which is added to Status Messages (SMs).Replaced by
receiverGroupTag(Long)
.- Parameters:
asfBytes
- for identifying a receiver group.- Returns:
- this for a fluent API.
- See Also:
-
congestionControlSupplier
Supplier of dynamically createdCongestionControl
strategies for individual connections.- Returns:
- supplier of dynamically created
CongestionControl
strategies for individual connections. - See Also:
-
congestControlSupplier
Supplier of dynamically createdCongestionControl
strategies for individual connections.- Parameters:
supplier
- of dynamically createdCongestionControl
strategies for individual connections.- Returns:
- this for a fluent API.
- See Also:
-
errorHandler
ErrorHandler
to be used for reporting errors duringAgent
s operations.- Returns:
- the
ErrorHandler
to be used for reporting errors duringAgent
s operations.
-
errorHandler
ErrorHandler
to be used for reporting errors duringAgent
s operations.The default
ErrorHandler
will delegate to theerrorLog()
and output toSystem.err
if the log is full.Note:
ErrorHandler
should be thread safe.- Parameters:
errorHandler
- to be used for reporting errors duringAgent
s operations.- Returns:
- this for a fluent API.
-
errorLog
Log to which exceptions are recorded.- Returns:
- log to which exceptions are recorded.
-
errorLog
Log to which exceptions are recorded.- Parameters:
errorLog
- to which exceptions are recorded.- Returns:
- this for a fluent API.
-
useConcurrentCountersManager
public boolean useConcurrentCountersManager()Should aConcurrentCountersManager
be used to allow for cross thread usage.- Returns:
- true if a
ConcurrentCountersManager
should be used otherwise false.
-
useConcurrentCountersManager
Should aConcurrentCountersManager
be used to allow for cross thread usage.The default is to use a normal
CountersManager
from only theDriverConductor
. If theMediaDriver
is to be composed into another services that allocates counters then this should be concurrent.- Parameters:
useConcurrentCountersManager
- true if aConcurrentCountersManager
should be used.- Returns:
- this for a fluent API.
-
countersManager
Get theCountersManager
that has been concluded for this context.- Returns:
- the
CountersManager
that has been concluded for this context.
-
countersManager
Set theCountersManager
to override the one that would have been concluded.- Parameters:
countersManager
- to override the one that would have been concluded.- Returns:
- this for a fluent API.
-
systemCounters
TheSystemCounters
for the driver for recording aggregate events of system status.- Returns:
- the
SystemCounters
for the driver for recording aggregate events of system status.
-
systemCounters
TheSystemCounters
for the driver for recording aggregate events of system status.The default should only be overridden for testing.
- Parameters:
systemCounters
- for the driver for recording aggregate events of system status.- Returns:
- this for a fluent API.
-
publicationReservedSessionIdLow
public 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:
-
publicationReservedSessionIdLow
Low end of the publication reserved session id range which will not be automatically assigned.- Parameters:
sessionId
- for low end of the publication reserved session id range which will not be automatically assigned.- Returns:
- this for fluent API.
- See Also:
-
publicationReservedSessionIdHigh
public 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:
-
publicationReservedSessionIdHigh
High end of the publication reserved session id range which will not be automatically assigned.- Parameters:
sessionId
- for high end of the publication reserved session id range which will not be automatically assigned.- Returns:
- this for fluent API.
- See Also:
-
retransmitUnicastDelayGenerator
FeedbackDelayGenerator
for controlling the delay before sending a retransmit frame.- Returns:
FeedbackDelayGenerator
for controlling the delay before sending a retransmit frame.- See Also:
-
retransmitUnicastDelayGenerator
public MediaDriver.Context retransmitUnicastDelayGenerator(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the delay before sending a retransmit frame.- Parameters:
feedbackDelayGenerator
- for controlling the delay before sending a retransmit frame.- Returns:
- this for a fluent API
- See Also:
-
retransmitUnicastLingerGenerator
FeedbackDelayGenerator
for controlling the linger after a retransmit.- Returns:
FeedbackDelayGenerator
for controlling the linger after a retransmit.- See Also:
-
retransmitUnicastLingerGenerator
public MediaDriver.Context retransmitUnicastLingerGenerator(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the time to linger after a retransmit frame is sent.- Parameters:
feedbackDelayGenerator
- for controlling the linger after a retransmit.- Returns:
- this for a fluent API
- See Also:
-
unicastFeedbackDelayGenerator
FeedbackDelayGenerator
for controlling the delay of sending NAK feedback on unicast.- Returns:
FeedbackDelayGenerator
for controlling the delay of sending NAK feedback.- See Also:
-
unicastFeedbackDelayGenerator
public MediaDriver.Context unicastFeedbackDelayGenerator(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the delay of sending NAK feedback on unicast.- Parameters:
feedbackDelayGenerator
- for controlling the delay of sending NAK feedback.- Returns:
- this for a fluent API
- See Also:
-
multicastFeedbackDelayGenerator
FeedbackDelayGenerator
for controlling the delay of sending NAK feedback on multicast.- Returns:
FeedbackDelayGenerator
for controlling the delay of sending NAK feedback.- See Also:
-
multicastFeedbackDelayGenerator
public MediaDriver.Context multicastFeedbackDelayGenerator(FeedbackDelayGenerator feedbackDelayGenerator) Set theFeedbackDelayGenerator
for controlling the delay of sending NAK feedback on multicast.- Parameters:
feedbackDelayGenerator
- for controlling the delay of sending NAK feedback.- Returns:
- this for a fluent API
- See Also:
-
terminationHook
Set theRunnable
that is called when theMediaDriver
processes a valid termination request.- Parameters:
terminationHook
- that can be used to terminate a driver.- Returns:
- this for a fluent API.
-
terminationHook
Get theRunnable
that is called when theMediaDriver
processes a valid termination request.The default action is nothing.
- Returns:
- the
Runnable
that can be used to terminate a consensus module.
-
terminationValidator
Set theTerminationValidator
to be used to validate termination requests.- Parameters:
validator
- to validate termination requests.- Returns:
- this for a fluent API.
-
terminationValidator
Get theTerminationValidator
to be used to validate termination requests.- Returns:
TerminationValidator
to validate termination requests.
-
sendToStatusMessagePollRatio
public int sendToStatusMessagePollRatio()Get the ratio for sending data to polling status messages in the Sender.- Returns:
- ratio for sending data to polling status messages in the Sender.
-
sendToStatusMessagePollRatio
Set the ratio for sending data to polling status messages in the Sender.- Parameters:
ratio
- to use.- Returns:
- this for fluent API.
-
receiverGroupTag
Get the group tag (gtag) to be sent in Status Messages from the Receiver.- Returns:
- group tag value or null if not set.
- See Also:
-
receiverGroupTag
Set the group tag (gtag) to be sent in Status Messages from the Receiver.- Parameters:
groupTag
- value to sent in Status Messages from the receiver or null if not set.- Returns:
- this for fluent API.
- See Also:
-
flowControlGroupTag
public long flowControlGroupTag()Get the default group tag (gtag) to be used by the tagged flow control strategy.- Returns:
- group tag value or null if not set.
- See Also:
-
flowControlGroupTag
Set the default group tag (gtag) to be used by the tagged flow control strategy.- Parameters:
groupTag
- value to use by default by the tagged flow control strategy.- Returns:
- this for fluent API.
- See Also:
-
flowControlGroupMinSize
public int flowControlGroupMinSize()Get the default min group size used by flow control strategies to indicate connectivity.- Returns:
- required group size.
- See Also:
-
flowControlGroupMinSize
Set the default min group size used by flow control strategies to indicate connectivity.- Parameters:
groupSize
- minimum required group size used by the tagged flow control strategy.- Returns:
- this for fluent API.
- See Also:
-
nameResolver
Get theNameResolver
to use for resolving endpoints and control names.- Returns:
NameResolver
to use for resolving endpoints and control names.
-
nameResolver
Set theNameResolver
to use for resolving endpoints and control names.- Parameters:
nameResolver
- to use for resolving endpoints and control names.- Returns:
- this for fluent API.
-
resolverName
Get the name of theMediaDriver
for name resolver purposes.- Returns:
- name of the
MediaDriver
. - See Also:
-
resolverName
Set the name of theMediaDriver
for name resolver purposes.- Parameters:
resolverName
- for the driver.- Returns:
- this for a fluent API.
- See Also:
-
resolverInterface
Get the interface of theMediaDriver
for name resolver purposes.The format is hostname:port and follows the URI format for the interface parameter. If set to null, then the name resolver will not be used.
- Returns:
- interface of the
MediaDriver
. - See Also:
-
resolverInterface
Set the interface of theMediaDriver
for name resolver purposes.The format is hostname:port and follows the URI format for the interface parameter. If set to null, then the name resolver will not be used.
- Parameters:
resolverInterface
- to use for the name resolver.- Returns:
- this for fluent API.
- See Also:
-
resolverBootstrapNeighbor
Get the bootstrap neighbor of theMediaDriver
for name resolver purposes.The format is comma separated list of
hostname:port
pairs. and follows the URI format for the endpoint parameter.- Returns:
- bootstrap neighbor of the
MediaDriver
. - See Also:
-
resolverBootstrapNeighbor
Set the bootstrap neighbor of theMediaDriver
for name resolver purposes.The format is hostname:port and follows the URI format for the endpoint parameter.
- Parameters:
resolverBootstrapNeighbor
- to use for the name resolver.- Returns:
- this for fluent API.
- See Also:
-
reResolutionCheckIntervalNs
public long reResolutionCheckIntervalNs()Get the interval for checking if a re-resolution for endpoints and controls should be done.A value of 0 turns off checks and re-resolutions.
- Returns:
- timeout in ns.
- See Also:
-
reResolutionCheckIntervalNs
Set the interval for checking if a re-resolution for endpoints and controls should be done.A value of 0 turns off checks and re-resolutions.
- Parameters:
reResolutionCheckIntervalNs
- to use for check- Returns:
- this for fluent API.
- See Also:
-
conductorCycleThresholdNs
Set a threshold for the conductor work cycle time which when exceed it will increment theSystemCounterDescriptor.CONDUCTOR_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.- Parameters:
thresholdNs
- value in nanoseconds- Returns:
- this for fluent API.
- See Also:
-
conductorCycleThresholdNs
public long conductorCycleThresholdNs()Threshold for the conductor work cycle time which when exceed it will increment theSystemCounterDescriptor.CONDUCTOR_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.- Returns:
- threshold to track for the conductor work cycle time.
-
channelReceiveTimestampClock
Set the clock to be used to record channel receive timestamps.- Parameters:
clock
- to provide ns-resolution timestamps since the epoch.- Returns:
- this for a fluent API.
-
senderCycleThresholdNs
Set a threshold for the sender work cycle time which when exceed it will increment theSystemCounterDescriptor.SENDER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.- Parameters:
thresholdNs
- value in nanoseconds- Returns:
- this for fluent API.
- See Also:
-
senderCycleThresholdNs
public long senderCycleThresholdNs()Threshold for the sender work cycle time which when exceed it will increment theSystemCounterDescriptor.SENDER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.- Returns:
- threshold to track for the sender work cycle time.
-
receiverCycleThresholdNs
Set a threshold for the receiver work cycle time which when exceed it will increment theSystemCounterDescriptor.RECEIVER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.- Parameters:
thresholdNs
- value in nanoseconds- Returns:
- this for fluent API.
- See Also:
-
receiverCycleThresholdNs
public long receiverCycleThresholdNs()Threshold for the receiver work cycle time which when exceed it will increment theSystemCounterDescriptor.RECEIVER_CYCLE_TIME_THRESHOLD_EXCEEDED
counter.- Returns:
- threshold to track for the receiver work cycle time.
-
nameResolverThresholdNs
Set a threshold for theNameResolver
which when exceed it will increment theSystemCounterDescriptor.NAME_RESOLVER_TIME_THRESHOLD_EXCEEDED
counter.- Parameters:
thresholdNs
- value in nanoseconds- Returns:
- this for fluent API.
- See Also:
-
nameResolverThresholdNs
public long nameResolverThresholdNs()Threshold for theNameResolver
which when exceed it will increment theSystemCounterDescriptor.NAME_RESOLVER_TIME_THRESHOLD_EXCEEDED
counter.- Returns:
- threshold to track for the name resolution.
-
resourceFreeLimit
Maximum number ofDriverManagedResource
s to free within a single duty cycle of the conductor.- Parameters:
resourceFreeLimit
- number of resources to limit to.- Returns:
- this for a fluent API.
- Since:
- 1.41.0
- See Also:
-
resourceFreeLimit
public int resourceFreeLimit()Maximum number ofDriverManagedResource
s to free within a single duty cycle of the conductor.- Returns:
- limit on the number of resources that can be freed.
- Since:
- 1.41.0
-
channelReceiveTimestampClock
Clock used record channel receive timestamps.- Returns:
- a clock instance.
-
channelSendTimestampClock
Set the clock to be used to record channel send timestamps.- Parameters:
clock
- to provide ns-resolution timestamps since the epoch.- Returns:
- this for a fluent API.
-
conductorDutyCycleTracker
Duty cycle tracker used for the conductor.- Returns:
- conductor duty cycle tracker.
-
conductorDutyCycleTracker
Set the duty cycle tracker used for the conductor.- Parameters:
dutyCycleTracker
- for the conductor.- Returns:
- this for a fluent API.
-
senderDutyCycleTracker
Duty cycle tracker used for the sender.- Returns:
- sender duty cycle tracker.
-
senderDutyCycleTracker
Set the duty cycle tracker used for the sender.- Parameters:
dutyCycleTracker
- for the sender.- Returns:
- this for a fluent API.
-
receiverDutyCycleTracker
Duty cycle tracker used for the receiver.- Returns:
- receiver duty cycle tracker.
-
receiverDutyCycleTracker
Set the duty cycle tracker used for the receiver.- Parameters:
dutyCycleTracker
- for the receiver.- Returns:
- this for a fluent API.
-
nameResolverTimeTracker
Duty cycle tracker used for theNameResolver
.- Returns:
NameResolver
duty cycle tracker.
-
nameResolverTimeTracker
Set the duty cycle tracker used for theNameResolver
.- Parameters:
dutyCycleTracker
- for theNameResolver
.- Returns:
- this for a fluent API.
-
senderWildcardPortRange
Wildcard port range used for the Sender.- Returns:
- port range as a string in the format "low high".
-
senderWildcardPortRange
Set the wildcard port range to be used for the Sender.Format is a string in "low high". With low being the low port value and high being the high port value. For example, "100 200". A null value or a value of "0 0" will use OS wildcard functionality.
- Parameters:
portRange
- as a string in the format "low high".- Returns:
- this for fluent API.
- See Also:
-
receiverWildcardPortRange
Wildcard port range used for the Receiver.- Returns:
- port range as a string in the format "low high".
-
receiverWildcardPortRange
Set the wildcard port range to be used for the Receiver.Format is a string in "low high". With low being the low port value and high being the high port value. For example, "100 200". A null value or a value of "0 0" will use OS wildcard functionality.
- Parameters:
portRange
- as a string in the format "low high".- Returns:
- this for fluent API.
- See Also:
-
senderPortManager
Port manager used for theSender
.- Returns:
- Sender
PortManager
.
-
senderPortManager
Set thePortManager
used for theSender
.- Parameters:
portManager
- for theSender
- Returns:
- this for a fluent API.
-
receiverPortManager
Port manager used for theReceiver
.- Returns:
- Receiver
PortManager
.
-
receiverPortManager
Set thePortManager
used for theReceiver
.- Parameters:
portManager
- for theReceiver
- Returns:
- this for a fluent API.
-
streamSessionLimit
Set the limit on the number of sessions allow per stream for subscriptions.- Parameters:
sessionLimit
- the limit of sessions per stream- Returns:
- this for a fluent API.
- See Also:
-
streamSessionLimit
public int streamSessionLimit()Get the limit on the number of sessions allow per stream for subscriptions.- Returns:
- the limit of sessions per stream
- See Also:
-
channelSendTimestampClock
Clock used record channel send timestamps.- Returns:
- a clock instance.
-
enableExperimentalFeatures
Should experimental features for the driver be enabled.- Overrides:
enableExperimentalFeatures
in classCommonContext
- Parameters:
enableExperimentalFeatures
- indicate whether experimental features for the driver should be enabled.- Returns:
- this for a fluent API
- See Also:
-
countedErrorHandler
Counted error handler that wrapserrorHandler()
andSystemCounterDescriptor.ERRORS
counter.- Returns:
- counted error handler.
-
toString
-