#ifndef MSP_GL_RESOURCEMANAGER_H_
#define MSP_GL_RESOURCEMANAGER_H_
+#include <deque>
#include <msp/core/inttypes.h>
#include <msp/core/mutex.h>
#include <msp/core/semaphore.h>
private:
Semaphore sem;
Mutex queue_mutex;
- std::list<ManagedResource *> async_queue;
- std::list<ManagedResource *> sync_queue;
+ std::deque<ManagedResource *> async_queue;
+ std::deque<ManagedResource *> sync_queue;
unsigned capacity;
unsigned size;
std::list<resource_load_error> error_queue;
private:
virtual void main();
- ManagedResource *front(std::list<ManagedResource *> &);
+ ManagedResource *front(std::deque<ManagedResource *> &);
public:
void add_resource(ManagedResource &);
bool async_loads;
mutable Mutex map_mutex;
std::map<const Resource *, ManagedResource> resources;
- std::list<ManagedResource *> queue;
+ std::deque<ManagedResource *> queue;
UInt64 total_data_size;
UInt64 size_limit;
unsigned frame;