IPersistentTimeoutableComponent

Allows components to have persistent timeouts.

These timeouts are represented by a method with a ComponentTimeoutHandler or GroupTimeoutHandler annotation on it, and will still exist (and be rescheduled) after a restart.

See also

Inheritors

Properties

Link copied to clipboard
abstract val instance: T
Link copied to clipboard

When true, resets the timeout duration everytime this component is used.

Link copied to clipboard
abstract val timeout: ComponentTimeout?
Link copied to clipboard
abstract val timeoutDuration: Duration?

Functions

Link copied to clipboard
@CheckReturnValue
abstract fun noTimeout(): T

Removes the timeout from this component.

Link copied to clipboard
abstract fun resetTimeoutOnUse(resetTimeoutOnUse: Boolean): T

When true, resets the timeout duration everytime this component is used.

Link copied to clipboard
@CheckReturnValue
open fun timeout(timeout: Duration, handlerName: String, vararg data: Any?): T
abstract fun timeout(timeout: Duration, handlerName: String, vararg data: Any?): T
@CheckReturnValue
open fun timeout(timeout: Long, timeoutUnit: TimeUnit, handlerName: String, vararg data: Any?): T

Sets the timeout on this component, invalidating the component on expiration, and running the timeout handler with the given name and its arguments.

@CheckReturnValue
open fun timeout(timeout: Duration): T
abstract fun timeout(timeout: Duration): T
@CheckReturnValue
open fun timeout(timeout: Long, timeoutUnit: TimeUnit): T

Sets the timeout on this component, invalidating the component on expiration.