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. |