Package groovy.concurrent

# Enum Class ActorOptions.StashOverflow

java.lang.Object
java.lang.Enum<ActorOptions.StashOverflow>
groovy.concurrent.ActorOptions.StashOverflow

All Implemented Interfaces:
  `Serializable`, `Comparable<ActorOptions.StashOverflow>`, `Constable`

Enclosing class:
  ActorOptions

public static enum ActorOptions.StashOverflow extends Enum<ActorOptions.StashOverflow>
Policy applied when `ActorContext.stash()` is called and the actor's bounded stash is already at capacity.

There is no `BLOCK` variant: the handler running `stash()` is on the actor's only worker thread, so blocking it on stash capacity would deadlock.

Since:
  6.0.0

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `DROP_OLDEST`
  The oldest stashed message is evicted to make room for the current one.
  `FAIL`
  `ActorContext.stash()` throws `IllegalStateException`.
  `REJECT`
  The current message is rejected: any `sendAndGet` reply is bound to `IllegalStateException`; any pending state change computed by the current handler is discarded; the message is not added to the stash and will not be replayed.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static ActorOptions.StashOverflow`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static ActorOptions.StashOverflow[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### FAIL

    public static final ActorOptions.StashOverflow FAIL
    `ActorContext.stash()` throws `IllegalStateException`. The exception propagates out of the handler unless caught; if uncaught, the dispatch treats it as a normal handler failure (reply bound to the exception, `onError` fires).

  - ### DROP_OLDEST

    public static final ActorOptions.StashOverflow DROP_OLDEST
    The oldest stashed message is evicted to make room for the current one. If the evicted message originated from `Actor.sendAndGet(Object)`, its reply is bound to `IllegalStateException` so the caller does not wait forever.

  - ### REJECT

    public static final ActorOptions.StashOverflow REJECT
    The current message is rejected: any `sendAndGet` reply is bound to `IllegalStateException`; any pending state change computed by the current handler is discarded; the message is not added to the stash and will not be replayed.

- ## Method Details

  - ### values

    public static ActorOptions.StashOverflow[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static ActorOptions.StashOverflow valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null