Tramway SDK
|
Implementation of the Async system. More...
#include <templates/queue.h>
#include <templates/pool.h>
#include <framework/core.h>
#include <framework/async.h>
#include <framework/system.h>
#include <framework/resource.h>
#include <framework/entitycomponent.h>
#include <framework/logging.h>
#include <platform/api.h>
#include <config.h>
#include <thread>
#include <vector>
Classes | |
struct | tram::Async::ResourceRequest |
Namespaces | |
namespace | tram::Async |
Multi-threading and Resource streaming. | |
namespace | tram |
Serialization, i.e. | |
Enumerations | |
enum | tram::Async::RequestNotification { tram::Async::NONE , tram::Async::COMPONENT , tram::Async::CALLBACK } |
Functions | |
void | tram::Async::RequestResource (EntityComponent *requester, Resource *resource) |
Adds a resource to the loading queue. More... | |
void | tram::Async::RequestResource (void(*callback)(void *data), void *data, Resource *resource) |
Adds a resource to the loading queue. More... | |
void | tram::Async::CancelRequest (EntityComponent *requester, Resource *resource) |
Cancels a resource load request. More... | |
void | tram::Async::LoadDependency (Resource *resource) |
Loads a resource from disk, skipping the queue. More... | |
void | tram::Async::LoadResourcesFromDisk () |
Processes the first resource queue. More... | |
void | tram::Async::LoadResourcesFromMemory () |
Processes the second resource queue. More... | |
void | tram::Async::FinishResources () |
Notifies EntityComponents about finished resources. More... | |
void | tram::Async::Init (size_t threads) |
Starts the async resource loader thread. More... | |
void | tram::Async::Yeet () |
Stops the async resource loader thread. More... | |
size_t | tram::Async::GetWaitingResources () |
Returns number of resources in queues. More... | |
Implementation of the Async system.