Cogs.Core
Public Attributes | List of all members
Cogs::Core::ResourceManagerBaseStorage Struct Reference

Public Attributes

Collections::Pool< ResourceInforesourceInfos
 guarded by resourceMutex
 
std::queue< ResourceLoadInfoBase * > loading
 guarded by loadingMutex
 
std::queue< ResourceLoadInfoBase * > queued
 guarded by loadingMutex
 
std::unordered_set< ResourceHandleBaseupdatedResources
 guarded by updatedMutex
 
std::vector< ResourceBase * > orphanedResources
 guarded by orphanedMutex
 
ResourcePointerMap allocatedResources
 guarded by resourceMutex
 
std::unordered_map< ResourceId, ResourceHandleBaseresourcesById
 guarded by resourceMutex
 
std::unordered_map< size_t, ResourceBase * > resourcesBySource
 guarded by resourceMutex
 
Mutex updatedMutex
 Outer lock.
 
Mutex resourceMutex
 nesting: updatedMutex -> resourceMutex
 
Mutex loadingMutex
 Guard when loading resource. Nesting: resourceMutex -> loadingMutex.
 
Mutex orphanedMutex
 Local lock for orphanedResources. Must not call anything acquiring locks.
 
Atomic< ResourceId > nextResourceId = 1
 

Detailed Description

Definition at line 97 of file ResourceManagerBase.cpp.

Constructor & Destructor Documentation

◆ ResourceManagerBaseStorage()

Cogs::Core::ResourceManagerBaseStorage::ResourceManagerBaseStorage ( )
inline

Definition at line 99 of file ResourceManagerBase.cpp.

Member Data Documentation

◆ allocatedResources

ResourcePointerMap Cogs::Core::ResourceManagerBaseStorage::allocatedResources

guarded by resourceMutex

Definition at line 108 of file ResourceManagerBase.cpp.

◆ loading

std::queue<ResourceLoadInfoBase *> Cogs::Core::ResourceManagerBaseStorage::loading

guarded by loadingMutex

Definition at line 103 of file ResourceManagerBase.cpp.

◆ loadingMutex

Mutex Cogs::Core::ResourceManagerBaseStorage::loadingMutex

Guard when loading resource. Nesting: resourceMutex -> loadingMutex.

Definition at line 119 of file ResourceManagerBase.cpp.

◆ nextResourceId

Atomic<ResourceId> Cogs::Core::ResourceManagerBaseStorage::nextResourceId = 1

Definition at line 124 of file ResourceManagerBase.cpp.

◆ orphanedMutex

Mutex Cogs::Core::ResourceManagerBaseStorage::orphanedMutex

Local lock for orphanedResources. Must not call anything acquiring locks.

Definition at line 122 of file ResourceManagerBase.cpp.

◆ orphanedResources

std::vector<ResourceBase *> Cogs::Core::ResourceManagerBaseStorage::orphanedResources

guarded by orphanedMutex

Definition at line 107 of file ResourceManagerBase.cpp.

◆ queued

std::queue<ResourceLoadInfoBase *> Cogs::Core::ResourceManagerBaseStorage::queued

guarded by loadingMutex

Definition at line 104 of file ResourceManagerBase.cpp.

◆ resourceInfos

Collections::Pool<ResourceInfo> Cogs::Core::ResourceManagerBaseStorage::resourceInfos

guarded by resourceMutex

Definition at line 101 of file ResourceManagerBase.cpp.

◆ resourceMutex

Mutex Cogs::Core::ResourceManagerBaseStorage::resourceMutex

nesting: updatedMutex -> resourceMutex

Definition at line 117 of file ResourceManagerBase.cpp.

◆ resourcesById

std::unordered_map<ResourceId, ResourceHandleBase> Cogs::Core::ResourceManagerBaseStorage::resourcesById

guarded by resourceMutex

Definition at line 110 of file ResourceManagerBase.cpp.

◆ resourcesBySource

std::unordered_map<size_t, ResourceBase *> Cogs::Core::ResourceManagerBaseStorage::resourcesBySource

guarded by resourceMutex

Definition at line 112 of file ResourceManagerBase.cpp.

◆ updatedMutex

Mutex Cogs::Core::ResourceManagerBaseStorage::updatedMutex

Outer lock.

Definition at line 115 of file ResourceManagerBase.cpp.

◆ updatedResources

std::unordered_set<ResourceHandleBase> Cogs::Core::ResourceManagerBaseStorage::updatedResources

guarded by updatedMutex

Definition at line 106 of file ResourceManagerBase.cpp.


The documentation for this struct was generated from the following file: