UE::DerivedData::ECachePolicy

Flags to control the behavior of cache requests.

Windows
MacOS
Linux

References

Module

DerivedDataCache

Header

/Engine/Source/Developer/DerivedDataCache/Public/DerivedDataCache.h

Include

#include "DerivedDataCache.h"

Syntax

namespace UE
{
    namespace DerivedData
    {
        enum ECachePolicy
        {
            None             = 0,
            QueryLocal       = 1 << 0,
            QueryRemote      = 1 << 1,
            Query            = QueryLocal | QueryRemote,
            StoreLocal       = 1 << 2,
            StoreRemote      = 1 << 3,
            Store            = StoreLocal | StoreRemote,
            SkipMeta         = 1 << 4,
            SkipData         = 1 << 5,
            PartialRecord    = 1 << 6,
            KeepAlive        = 1 << 7,
            Local            = QueryLocal | StoreLocal,
            Remote           = QueryRemote | StoreRemote,
            Default          = Query | Store,
            Disable          = None,
        }
    }
}

Values

Name

Description

None

A value without any flags set.

QueryLocal

Allow a cache request to query local caches.

QueryRemote

Allow a cache request to query remote caches.

Query

Allow a cache request to query any caches.

StoreLocal

Allow cache records and values to be stored in local caches.

StoreRemote

Allow cache records and values to be stored in remote caches.

Store

Allow cache records and values to be stored in any caches.

SkipMeta

Skip fetching the metadata for record requests.

SkipData

Skip fetching the data for values.

PartialRecord

Partial output will be provided with the error status when a required value is missing.

KeepAlive

Keep records in the cache for at least the duration of the session.

Local

Allow cache requests to query and store records and values in local caches.

Remote

Allow cache requests to query and store records and values in remote caches.

Default

Allow cache requests to query and store records and values in any caches.

Disable

Do not allow cache requests to query or store records and values in any caches.

Remarks

Flags to control the behavior of cache requests.

The cache policy flags can be combined to support a variety of usage patterns. Examples:

Get(Default): read from any cache; put to writable caches if missing. Get(Remote): read any remote cache; put to writable remote caches if missing. Get(Local): read any local cache; put to writable local caches if missing. Get(Query | StoreRemote): read from any cache; put to writable remote caches if missing. Get(Query | StoreLocal): read from any cache; put to writable local caches if missing. Get(Query | SkipData): check for existence in any cache; do not modify any cache. Get(Default | SkipData): check for existence in any cache; put to writable caches if missing.

Put(Default): write to every writable cache. Put(Remote): write to every writable remote cache, skipping local caches. Put(Local): write to every writable local cache, skipping remote caches.