Show / Hide Table of Contents

    Class InMemoryInboundLog

    Used by the LogExactlyOnceStrategy to keep track of each processed message and guarantee that each one is processed only once.

    The log is simply persisted in memory.

    Inheritance
    object
    TransactionalList<InboundLogEntry>
    InMemoryInboundLog
    Implements
    IInboundLog
    ITransactional
    Inherited Members
    TransactionalList<InboundLogEntry>.CommittedItemsCount
    TransactionalList<InboundLogEntry>.Items
    TransactionalList<InboundLogEntry>.UncommittedItems
    TransactionalList<InboundLogEntry>.CommitAsync()
    TransactionalList<InboundLogEntry>.RollbackAsync()
    TransactionalList<InboundLogEntry>.AddAsync(InboundLogEntry)
    TransactionalList<InboundLogEntry>.RemoveAsync(InboundLogEntry)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Silverback.Messaging.Inbound.ExactlyOnce.Repositories
    Assembly: Silverback.Integration.dll
    Syntax
    public class InMemoryInboundLog : TransactionalList<InboundLogEntry>, IInboundLog, ITransactional

    Constructors

    | Improve this doc View source

    InMemoryInboundLog(TransactionalListSharedItems<InboundLogEntry>)

    Initializes a new instance of the InMemoryInboundLog class.

    Declaration
    public InMemoryInboundLog(TransactionalListSharedItems<InboundLogEntry> sharedItems)
    Parameters
    Type Name Description
    TransactionalListSharedItems<InboundLogEntry> sharedItems

    The log entries shared between the instances of this repository.

    Methods

    | Improve this doc View source

    AddAsync(IRawInboundEnvelope)

    Add the message contained in the specified envelope to the log.

    Declaration
    public Task AddAsync(IRawInboundEnvelope envelope)
    Parameters
    Type Name Description
    IRawInboundEnvelope envelope

    The envelope containing the message to be added.

    Returns
    Type Description
    Task

    A Task representing the asynchronous operation.

    | Improve this doc View source

    ExistsAsync(IRawInboundEnvelope)

    Returns a boolean value indicating whether this very same message has already been logged for the same consumer group.

    Declaration
    public Task<bool> ExistsAsync(IRawInboundEnvelope envelope)
    Parameters
    Type Name Description
    IRawInboundEnvelope envelope

    The envelope containing the message to be checked.

    Returns
    Type Description
    Task<bool>

    A Task<TResult> representing the asynchronous operation. The task result contains a value indicating whether the message was found in the log.

    | Improve this doc View source

    GetLengthAsync()

    Returns the total number of messages in the log.

    Declaration
    public Task<int> GetLengthAsync()
    Returns
    Type Description
    Task<int>

    A Task<TResult> representing the result of the asynchronous operation. The task result contains the log length.

    Implements

    IInboundLog
    ITransactional
    • Improve this doc
    • View source
    GitHub E-Mail
    ↑ Back to top © 2020 Sergio Aquilini