Class InMemoryOffsetStore
Used by the OffsetStoreExactlyOnceStrategy to keep track of the last processed offsets and guarantee that each message is processed only once.
The log is simply persisted in memory.
Inherited Members
Namespace: Silverback.Messaging.Inbound.ExactlyOnce.Repositories
Assembly: Silverback.Integration.dll
Syntax
public class InMemoryOffsetStore : TransactionalDictionary<string, IBrokerMessageOffset>, IOffsetStore, ITransactional
Constructors
| Improve this doc View sourceInMemoryOffsetStore(TransactionalDictionarySharedItems<string, IBrokerMessageOffset>)
Initializes a new instance of the InMemoryOffsetStore class.
Declaration
public InMemoryOffsetStore(TransactionalDictionarySharedItems<string, IBrokerMessageOffset> sharedItems)
Parameters
Type | Name | Description |
---|---|---|
TransactionalDictionarySharedItems<string, IBrokerMessageOffset> | sharedItems | The offsets shared between the instances of this repository. |
Methods
| Improve this doc View sourceGetLatestValueAsync(string, IConsumerEndpoint)
Returns the latest recorded offset value for the specified offset key and endpoint.
Declaration
public Task<IBrokerMessageOffset?> GetLatestValueAsync(string offsetKey, IConsumerEndpoint endpoint)
Parameters
Type | Name | Description |
---|---|---|
string | offsetKey | The key of the offset to be retrieved. The offset key uniquely identifies the queue, topic or partition. |
IConsumerEndpoint | endpoint | The endpoint for which the recorded offset has to be be returned. |
Returns
Type | Description |
---|---|
Task<IBrokerMessageOffset> | A Task<TResult> representing the asynchronous operation. The task result contains the latest offset. |
StoreAsync(IBrokerMessageOffset, IConsumerEndpoint)
Stores the offset of the processed message.
Declaration
public Task StoreAsync(IBrokerMessageOffset offset, IConsumerEndpoint endpoint)
Parameters
Type | Name | Description |
---|---|---|
IBrokerMessageOffset | offset | The offset to be stored. |
IConsumerEndpoint | endpoint | The endpoint the offset belongs to. |
Returns
Type | Description |
---|---|
Task | A Task representing the asynchronous operation. |