Class PhobosStash
We've exposed this, experimentally, for customers who need to do custom stashing. We might very well seal it off again. Use it at your own risk.
Inherited Members
Namespace: Phobos.Actor.Impl
Assembly: Phobos.Actor.dll
Syntax
[InternalApi]
public class PhobosStash : IPhobosStash, IStash
Constructors
PhobosStash(IActorContext, bool)
Used to create a new instance of the PhobosStash
Declaration
public PhobosStash(IActorContext phobosContext, bool isUnbounded = false)
Parameters
| Type | Name | Description |
|---|---|---|
| IActorContext | phobosContext | The context of the current actor who has the stash. |
| bool | isUnbounded | Indicates whether this IStash is unbounded or not. |
Properties
Capacity
The total capacity of the stash.
Declaration
public int Capacity { get; }
Property Value
| Type | Description |
|---|---|
| int |
Count
The number of messages currently inside the stash.
Declaration
public int Count { get; }
Property Value
| Type | Description |
|---|---|
| int |
IsEmpty
Returns true when Count is zero.
Declaration
public bool IsEmpty { get; }
Property Value
| Type | Description |
|---|---|
| bool |
IsFull
When using a bounded stash, this returns true when the stash is full.
Declaration
public bool IsFull { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Remarks
Always returns false when using an unbounded stash.
NonEmpty
Returns true when Count is greater than zero.
Declaration
public bool NonEmpty { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Methods
ClearStash()
Eliminates the contents of the IStash, and returns the previous contents of the messages.
Declaration
public IEnumerable<Envelope> ClearStash()
Returns
| Type | Description |
|---|---|
| IEnumerable<Envelope> | Previously stashed messages. |
Prepend(IEnumerable<Envelope>)
Prepend a set of envelopes to the front of the stash.
Declaration
public void Prepend(IEnumerable<Envelope> envelopes)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerable<Envelope> | envelopes | TBD |
Stash()
Stashes the current message (the message that the actor received last)
Declaration
public void Stash()
Unstash()
Unstash the oldest message in the stash and prepends it to the actor's mailbox. The message is removed from the stash.
Declaration
public void Unstash()
UnstashAll()
Unstash all of the Envelopes in the Stash.
Declaration
public void UnstashAll()
UnstashAll(Func<Envelope, bool>)
Unstash all of the Envelopes in the Stash.
Declaration
public void UnstashAll(Func<Envelope, bool> predicate)
Parameters
| Type | Name | Description |
|---|---|---|
| Func<Envelope, bool> | predicate | A predicate function to determine which messages to select. |