Show / Hide Table of Contents

Namespace SuperOffice.Threading

Classes

AsyncLazy<T>

Alternative to Lazy<T>. Simply wrapping our async tasks into a lazy value was not satisfactory, because 1) if it threw an exception inside the task, it would be permanently fixed to the lazy instance, and 2) it didn't allow us to pass a CancellationToken.

AsyncQueueBase<TItem>

Default implementation of IAsyncQueueBase<TItem> base functionality

AsyncQueueBase<TItem>.AsyncQueueItem

AsyncQueueBase<TItem>.AsyncQueueItemContext

AsyncQueueHandler<TAsynchronousHandlerProcessor, TAsynchronousArgument>

Base class replacing legacy system for quing things into an IAsyncQueue<TItem>.

AsyncQueueProcessor<TQueue, TItem>

Base class for hosted service processing items from an async queue

AsyncQueueTracker

Singleton registry that tracks all IAsyncQueueInstance instances created by the DI container.

AsyncQueue<TItem>

Async queue that can be processed by an implementation of AsyncQueueProcessor<TItem>

AsynchronousHandlerProcessor<TAsynchronousArgument>

Base class for processing carried out by AsynchronousHandler<TAsynchronousHandlerProcessor, TAsynchronousArgument> and implementations of such.

BackgroundThreadCleanupPluginAttribute

DelayedItem<TItem>

Internal type used by IDelayedAsyncQueue<TItem> to represent the condition to when an item is to be processed.

ISafeBlockingTaskInheritorExtensions

ParallelConsumerQueue<T>

A simple, threadsafe and blocking queue. Contains methods to easily have multiple, identical consumer threads.

ParallelProcessor<TParallelizedProcessor>

Processer that can run multiple ParallelizedProcessor instances in parallel.

ParallelizedProcessor

Base class for processing that can be run in parallel and controlled by the IParallelizedProcessorControlPlane. This is typically an instance of ParallelProcessor<TParallelizedProcessor>.

SafeBlockingTasks

TaskHelper

Interfaces

IAsyncQueueBase<TItem>

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

IAsyncQueueInstance

Non-generic interface for tracking all IAsyncQueueBase<TItem> instances at runtime.

IAsyncQueueProcessItemContext<TItem>

IAsyncQueue<TItem>

IBackgroundThreadCleanupPlugin

IDelayedAsyncQueue<TItem>

Interface implemented by NetServer's AsyncQueue

IParallelProcessor<TParallelizedProcessor>

IParallelizedProcessorControlPlane

Interface implemented to provide control plane for ParallelizedProcessor.

ISafeBlockingTaskInheritor

Interface implemented to support transponding values from a parent task/context onto a child task/context.

Delegates

AsyncQueueProcessItemAsync<TItem>

Callback to process an item in the queue asynchronously

© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top