Show / Hide Table of Contents

Interface IAsyncQueueBase<TItem>

Interface that represents a queue, that can be proccessed by AsyncQueueProcessor<TItem>.

Namespace: SuperOffice.Threading
Assembly: SoCore.dll
Syntax
public interface IAsyncQueueBase<TItem>
Type Parameters
Name Description
TItem

Properties

HasItemsInTheQueue

True if there are items in the queue

Declaration
bool HasItemsInTheQueue { get; }
Property Value
Type Description
bool

Methods

ProcessItemsAsync(AsyncQueueProcessItemAsync<TItem>, CancellationToken)

Process items in the queue

Declaration
Task ProcessItemsAsync(AsyncQueueProcessItemAsync<TItem> processor, CancellationToken cancellationToken = default)
Parameters
Type Name Description
AsyncQueueProcessItemAsync<TItem> processor

Processor responsible for processing each item in the queue

CancellationToken cancellationToken
Returns
Type Description
Task

ProcessNextItemAsync(AsyncQueueProcessItemAsync<TItem>, CancellationToken)

Process the next item in the queue. Wait for there to be an item in the queue.to start processing

Declaration
Task ProcessNextItemAsync(AsyncQueueProcessItemAsync<TItem> processor, CancellationToken cancellationToken = default)
Parameters
Type Name Description
AsyncQueueProcessItemAsync<TItem> processor

Processor responsible for processing each item in the queue

CancellationToken cancellationToken
Returns
Type Description
Task

ToArray(bool)

Get a snapshot of all the items in the queue

Declaration
TItem[] ToArray(bool includeItemsBeingProcessed)
Parameters
Type Name Description
bool includeItemsBeingProcessed

Include items currently being processed in the snapshot

Returns
Type Description
TItem[]

WaitForItemsInQueueToBeProcessedAsync(CancellationToken)

Wait for all items currently in the queue or currently being processed to be processed.

Declaration
Task WaitForItemsInQueueToBeProcessedAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
Remarks

This method waits for items in the queue, items being process and any overflow tasks returned by the processor.

Exceptions
Type Condition
AggregateException

Thrown if any of the awaiting tasks throw an exception.

OperationCanceledException

Thrown if the operation is canceled.

Extension Methods

EnumUtil.MapEnums<From, To>(From)
Converters.MapEnums<From, To>(From)
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top