Table of Contents

Namespace GreenDonut

Classes

AutoBatchScheduler

Defines a batch dispatcher that immediately dispatches batch jobs.

BatchDataLoader<TKey, TValue>

The BatchDataLoader is the most commonly used variant of DataLoader and is optimized to fetch multiple items in a single batch from the database.

CacheDataLoader<TKey, TValue>
DataLoaderBase<TKey, TValue>

A DataLoader creates a public API for loading data from a particular data back-end with unique keys such as the `id` column of a SQL table or document name in a MongoDB database, given a batch loading function. -- facebook

Each DataLoader instance contains a unique memoized cache. Use caution when used in long-lived applications or those which serve many users with different access permissions and consider creating a new instance per web request. -- facebook

This is an abstraction for all kind of DataLoaders.

DataLoaderDiagnosticEventListener

A base class to create a DataLoader diagnostic event listener.

DataLoaderExtensions

A bunch of convenient DataLoader extension methods.

DataLoaderOptions

An options object to configure the behavior for DataLoader.

FetchOnceDataLoader<TValue>

The FetchOnceDataLoader<TValue> fetches a single object and caches it.

GroupedDataLoader<TKey, TValue>

The GroupedDataLoader is used to fetch a collection of items for a single provided key in a batch.

TaskCache

A memorization cache for DataLoader.

TaskCacheOwner

Owner of TaskCache that is responsible for returning the rented TaskCache appropriately to the ObjectPool<T>.

TaskCachePool

This helper class gives easy access to cache pool factories and the shared cache pool.

Structs

Result<TValue>

A wrapper for a single value which could contain a valid value or any error.

TaskCacheKey

The key of a cached task.

Interfaces

IBatchScheduler

The batch scheduler is used by the dataloader to defer the data fetching work to a batch dispatcher that will execute the batches.

IDataLoader

A DataLoader creates a public API for loading data from a particular data back-end with unique keys such as the id column of a SQL table or document name in a MongoDB database, given a batch loading function. -- facebook

Each DataLoader instance contains a unique memoized cache. Use caution when used in long-lived applications or those which serve many users with different access permissions and consider creating a new instance per web request. -- facebook

IDataLoaderDiagnosticEventListener

Register an implementation of this interface in the DI container to listen to diagnostic events. Multiple implementations can be registered and they will all be notified in the registration order.

IDataLoaderDiagnosticEvents

This interfaces specifies the DataLoader diagnostics events.

IDataLoader<TKey, TValue>

A DataLoader creates a public API for loading data from a particular data back-end with unique keys such as the id column of a SQL table or document name in a MongoDB database, given a batch loading function. -- facebook

Each DataLoader instance contains a unique memoized cache. Use caution when used in long-lived applications or those which serve many users with different access permissions and consider creating a new instance per web request. -- facebook

ITaskCache

A memorization cache for DataLoader.

Enums

ResultKind

Defines the type of result.

Delegates

FetchDataDelegate<TKey, TValue>

A data fetching delegate for DataLoader. For every provided key must be a result returned. Also to be mentioned is, the results must be returned in the exact same order the keys were provided.