Cascade
Loading...
Searching...
No Matches
Buzzware.Cascade.IModelClassCache Interface Reference

Interface for a cache to store model instances for a specified model class. More...

Inheritance diagram for Buzzware.Cascade.IModelClassCache:
Buzzware.Cascade.ConcurrentFileSystemClassCache< Model, IdType > Buzzware.Cascade.FastFileClassCache< Model, IdType > Buzzware.Cascade.FileSystemClassCache< Model, IdType > Buzzware.Cascade.ModelClassCache< Model, IdType >

Public Member Functions

Task Setup ()
 Implement this for any setup required.
Task Store (object id, object model, long arrivedAt)
 Caches a model instance with a specific id.
Task StoreAll (IReadOnlyList< object > results, long arrivedAt)
Task StoreCollection (string key, IEnumerable ids, long aArrivedAt)
 Stores a collection of model ids under a specific key.
Task< OpResponseFetch (RequestOp requestOp)
 Fetches data based on a request operation.
Task Remove (object id)
 Removes a model instance from the cache for a given id.
Task ClearAll (bool exceptHeld, DateTime? olderThan=null)
 Clears all cached items, with options to preserve certain data based on flags and timestamps.

Properties

CascadeDataLayer Cascade [get, set]
 CascadeDataLayer reference.

Detailed Description

Interface for a cache to store model instances for a specified model class.

Member Function Documentation

◆ ClearAll()

Task Buzzware.Cascade.IModelClassCache.ClearAll ( bool exceptHeld,
DateTime? olderThan = null )

Clears all cached items, with options to preserve certain data based on flags and timestamps.

Parameters
exceptHeldIf true, items marked as 'held' will not be cleared.
olderThanOptional: if provided, only items older than this date will be cleared.
Returns
bool indicating success of the clear operation.

Implemented in Buzzware.Cascade.ConcurrentFileSystemClassCache< Model, IdType >, Buzzware.Cascade.FastFileClassCache< Model, IdType >, Buzzware.Cascade.FileSystemClassCache< Model, IdType >, and Buzzware.Cascade.ModelClassCache< Model, IdType >.

◆ Fetch()

Task< OpResponse > Buzzware.Cascade.IModelClassCache.Fetch ( RequestOp requestOp)

Fetches data based on a request operation.

Parameters
requestOpThe operation describing what data should be fetched.
Returns
An OpResponse containing the results of the fetch operation

Implemented in Buzzware.Cascade.ConcurrentFileSystemClassCache< Model, IdType >, Buzzware.Cascade.FastFileClassCache< Model, IdType >, Buzzware.Cascade.FileSystemClassCache< Model, IdType >, and Buzzware.Cascade.ModelClassCache< Model, IdType >.

◆ Remove()

Task Buzzware.Cascade.IModelClassCache.Remove ( object id)

Removes a model instance from the cache for a given id.

Parameters
idThe identifier of the model to be removed from the cache.
Returns
bool indicating success of the remove operation.

Implemented in Buzzware.Cascade.ConcurrentFileSystemClassCache< Model, IdType >, Buzzware.Cascade.FastFileClassCache< Model, IdType >, Buzzware.Cascade.FileSystemClassCache< Model, IdType >, and Buzzware.Cascade.ModelClassCache< Model, IdType >.

◆ Setup()

◆ Store()

Task Buzzware.Cascade.IModelClassCache.Store ( object id,
object model,
long arrivedAt )

Caches a model instance with a specific id.

Parameters
idThe identifier for the model to be stored in the cache.
modelThe actual model instance to cache.
arrivedAtTimestamp indicating when the model was fetched or created.
Returns
bool indicating success of the store operation.

Implemented in Buzzware.Cascade.ConcurrentFileSystemClassCache< Model, IdType >, Buzzware.Cascade.FastFileClassCache< Model, IdType >, Buzzware.Cascade.FileSystemClassCache< Model, IdType >, and Buzzware.Cascade.ModelClassCache< Model, IdType >.

◆ StoreCollection()

Task Buzzware.Cascade.IModelClassCache.StoreCollection ( string key,
IEnumerable ids,
long aArrivedAt )

Stores a collection of model ids under a specific key.

Parameters
keyString key under which the collection of ids will be stored.
idsThe collection of identifiers to store.
aArrivedAtTimestamp indicating when the collection was fetched or created.
Returns
bool indicating success of the store operation.

Implemented in Buzzware.Cascade.ConcurrentFileSystemClassCache< Model, IdType >, Buzzware.Cascade.FastFileClassCache< Model, IdType >, Buzzware.Cascade.FileSystemClassCache< Model, IdType >, and Buzzware.Cascade.ModelClassCache< Model, IdType >.

Property Documentation

◆ Cascade


The documentation for this interface was generated from the following file:
  • Buzzware.Cascade/interfaces/IModelClassCache.cs