Interface Stash
- All Superinterfaces:
- Actor,- RequiresMessageQueue<DequeBasedMessageQueueSemantics>,- StashSupport,- UnrestrictedStash
- All Known Subinterfaces:
- AbstractPersistentActorLike,- AsyncWriteProxy,- AtLeastOnceDelivery,- AtLeastOnceDeliveryLike,- Eventsourced,- PersistenceStash,- PersistentActor,- PersistentFSM<S,- D, - E> 
- All Known Implementing Classes:
- AbstractActorWithStash,- AbstractFSMWithStash,- AbstractPersistentActor,- AbstractPersistentActorWithAtLeastOnceDelivery,- AbstractPersistentActorWithTimers,- AbstractPersistentFSM,- AbstractPersistentLoggingFSM,- JournalPerfSpec.BenchActor,- PersistencePluginProxy,- PersistentShardCoordinator,- UntypedAbstractActorWithStash
Stash trait enables an actor to temporarily stash away messages that can not or
  should not be handled using the actor's current behavior.
  
  Example:
  
    class ActorWithProtocol extends Actor with Stash {
      def receive = {
        case "open" =>
          unstashAll()
          context.become({
            case "write" => // do writing...
            case "close" =>
              unstashAll()
              context.unbecome()
            case msg => stash()
          }, discardOld = false)
        case "done" => // done
        case msg    => stash()
      }
    }
  
 
  Note that the Stash trait can only be used together with actors that have a deque-based
  mailbox. By default Stash based actors request a Deque based mailbox since the stash
  trait extends RequiresMessageQueue[DequeBasedMessageQueueSemantics].
  You can override the default mailbox provided when DequeBasedMessageQueueSemantics are requested via config:
  
    pekko.actor.mailbox.requirements {
      "org.apache.pekko.dispatch.BoundedDequeBasedMessageQueueSemantics" = your-custom-mailbox
    }
  
  Alternatively, you can add your own requirement marker to the actor and configure a mailbox type to be used
  for your marker.
 
  For a Stash that also enforces unboundedness of the deque see pekko.actor.UnboundedStash. For a Stash
  that does not enforce any mailbox type see pekko.actor.UnrestrictedStash.
 
  Note that the Stash trait must be mixed into (a subclass of) the Actor trait before
  any trait/class that overrides the preRestart callback. This means it's not possible to write
  Actor with MyActor with Stash if MyActor overrides preRestart.
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.pekko.actor.ActorActor.emptyBehavior$, Actor.ignoringBehavior$
- 
Method SummaryMethods inherited from interface org.apache.pekko.actor.ActoraroundPostRestart, aroundPostStop, aroundPreRestart, aroundPreStart, aroundReceive, context, org$apache$pekko$actor$Actor$_setter_$context_$eq, org$apache$pekko$actor$Actor$_setter_$self_$eq, postRestart, preStart, receive, self, sender, supervisorStrategy, unhandledMethods inherited from interface org.apache.pekko.actor.StashSupportactorCell, clearStash, context, enqueueFirst, mailbox, org$apache$pekko$actor$StashSupport$_setter_$mailbox_$eq, prepend, self, stash, theStash_$eq, unstash, unstashAll, unstashAllMethods inherited from interface org.apache.pekko.actor.UnrestrictedStashpostStop, preRestart, super$postStop, super$preRestart