Show / Hide Table of Contents

    Class IncrementalAtLeastOnceDeliverySemantic

    Journal-based AtLeastOnceDelivery semantics.

    Inheritance
    System.Object
    IncrementalAtLeastOnceDeliverySemantic
    Namespace:Akka.Persistence.Extras
    Assembly:Akka.Persistence.Extras.dll
    Syntax
    public class IncrementalAtLeastOnceDeliverySemantic : object

    Constructors

    IncrementalAtLeastOnceDeliverySemantic(IActorContext, PersistenceSettings.AtLeastOnceDeliverySettings)

    Initializes a new instance of the class.

    Declaration
    public IncrementalAtLeastOnceDeliverySemantic(IActorContext context, PersistenceSettings.AtLeastOnceDeliverySettings settings)
    Parameters
    Type Name Description
    IActorContext context

    The context of the current actor.

    PersistenceSettings.AtLeastOnceDeliverySettings settings

    The Akka.Persistence settings loaded from HOCON configuration.

    Properties

    MaxUnconfirmedMessages

    Maximum number of unconfirmed messages, that this actor is allowed to hold in the memory. if this number is exceeded, will not accept more messages and it will throw . The default value can be configure with the 'akka.persistence.at-least-once-delivery.max-unconfirmed-messages' configuration key. This method can be overridden by implementation classes to return non-default values.

    Declaration
    public virtual int MaxUnconfirmedMessages { get; }
    Property Value
    Type Description
    System.Int32

    RedeliverInterval

    Interval between redelivery attempts. The default value can be configure with the 'akka.persistence.at-least-once-delivery.redeliver-interval' configuration key. This method can be overridden by implementation classes to return non-default values.

    Declaration
    public virtual TimeSpan RedeliverInterval { get; }
    Property Value
    Type Description
    TimeSpan

    RedeliveryBurstLimit

    Maximum number of unconfirmed messages that will be sent at each redelivery burst (burst frequency is half of the redelivery interval). If there's a lot of unconfirmed messages (e.g. if the destination is not available for a long time), this helps prevent an overwhelming amount of messages to be sent at once. The default value can be configure with the 'akka.persistence.at-least-once-delivery.redelivery-burst-limit' configuration key. This method can be overridden by implementation classes to return non-default values.

    Declaration
    public virtual int RedeliveryBurstLimit { get; }
    Property Value
    Type Description
    System.Int32

    UnconfirmedCount

    Number of messages, that have not been confirmed yet.

    Declaration
    public int UnconfirmedCount { get; }
    Property Value
    Type Description
    System.Int32

    WarnAfterNumberOfUnconfirmedAttempts

    After this number of delivery attempts a message will be sent to . The count is reset after restart. The default value can be configure with the 'akka.persistence.at-least-once-delivery.warn-after-number-of-unconfirmed-attempts' configuration key. This method can be overridden by implementation classes to return non-default values.

    Declaration
    public virtual int WarnAfterNumberOfUnconfirmedAttempts { get; }
    Property Value
    Type Description
    System.Int32

    Methods

    AroundReceive(Receive, Object)

    TBD

    Declaration
    public bool AroundReceive(Receive receive, object message)
    Parameters
    Type Name Description
    Receive receive

    TBD

    System.Object message

    TBD

    Returns
    Type Description
    System.Boolean

    TBD

    Cancel()

    Cancels the redelivery interval.

    Declaration
    public void Cancel()

    ConfirmDelivery(Int64)

    Call this method when a message has been confirmed by the destination, or to abort re-sending.

    Declaration
    public bool ConfirmDelivery(long deliveryId)
    Parameters
    Type Name Description
    System.Int64 deliveryId

    TBD

    Returns
    Type Description
    System.Boolean

    True the first time the deliveryId is confirmed, false for duplicate confirmations.

    Deliver(ActorPath, Func<Int64, Object>, Boolean)

    TBD

    Declaration
    public void Deliver(ActorPath destination, Func<long, object> deliveryMessageMapper, bool isRecovering)
    Parameters
    Type Name Description
    ActorPath destination

    TBD

    Func<System.Int64, System.Object> deliveryMessageMapper

    TBD

    System.Boolean isRecovering

    TBD

    GetDeliverySnapshot()

    Full state of the . It can be saved with . During recovery the snapshot received in should be set with SetDeliverySnapshot(AtLeastOnceDeliverySnapshot). The contains the full delivery state, including unconfirmed messages. If you need a custom snapshot for other parts of the actor state you must also include the . It is serialized using protobuf with the ordinary Akka serialization mechanism. It is easiest to include the bytes of the as a blob in your custom snapshot.

    Declaration
    public AtLeastOnceDeliverySnapshot GetDeliverySnapshot()
    Returns
    Type Description
    AtLeastOnceDeliverySnapshot

    A new, immutable .

    OnReplaySuccess()

    TBD

    Declaration
    public void OnReplaySuccess()

    SetDeliverySnapshot(AtLeastOnceDeliverySnapshot)

    If snapshot from GetDeliverySnapshot() was saved it will be received during recovery phase in a message and should be set with this method.

    Declaration
    public void SetDeliverySnapshot(AtLeastOnceDeliverySnapshot snapshot)
    Parameters
    Type Name Description
    AtLeastOnceDeliverySnapshot snapshot

    A previously recovered that was persisted to storage.

    Back to top Copyright © 2015-2018 Petabridge®