#include <Streamer.h>
Inherits AZ::IO::IStreamer.
Public Member Functions | |
AZ_RTTI (Streamer, "{3D880982-6E3F-4913-9947-55E01030D4AA}", IStreamer) | |
AZ_CLASS_ALLOCATOR (Streamer, SystemAllocator) | |
FileRequestPtr | Read (AZStd::string_view relativePath, void *outputBuffer, size_t outputBufferSize, size_t readSize, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0) override |
Creates a request to read a file with a user provided output buffer. | |
FileRequestPtr & | Read (FileRequestPtr &request, AZStd::string_view relativePath, void *outputBuffer, size_t outputBufferSize, size_t readSize, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0) override |
Sets a request to the read command with a user provided output buffer. | |
FileRequestPtr | Read (AZStd::string_view relativePath, IStreamerTypes::RequestMemoryAllocator &allocator, size_t size, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0) override |
Creates a request to read a file with an allocator to create the output buffer. | |
FileRequestPtr & | Read (FileRequestPtr &request, AZStd::string_view relativePath, IStreamerTypes::RequestMemoryAllocator &allocator, size_t size, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0) override |
Set a request to the read command with an allocator to create the output buffer. | |
FileRequestPtr | Cancel (FileRequestPtr target) override |
Creates a request to cancel a previously queued request. | |
FileRequestPtr & | Cancel (FileRequestPtr &request, FileRequestPtr target) override |
Sets a request to the cancel command. | |
FileRequestPtr | RescheduleRequest (FileRequestPtr target, IStreamerTypes::Deadline newDeadline, IStreamerTypes::Priority newPriority) override |
Creates a request to adjust a previous queued request. | |
FileRequestPtr & | RescheduleRequest (FileRequestPtr &request, FileRequestPtr target, IStreamerTypes::Deadline newDeadline, IStreamerTypes::Priority newPriority) override |
Sets a request to the reschedule command. | |
FileRequestPtr | CreateDedicatedCache (AZStd::string_view relativePath) override |
Creates a dedicated cache for the target file. | |
FileRequestPtr & | CreateDedicatedCache (FileRequestPtr &request, AZStd::string_view relativePath) override |
Creates a dedicated cache for the target file. | |
FileRequestPtr | DestroyDedicatedCache (AZStd::string_view relativePath) override |
Destroy a dedicated cache created by CreateDedicatedCache. | |
FileRequestPtr & | DestroyDedicatedCache (FileRequestPtr &request, AZStd::string_view relativePath) override |
Destroy a dedicated cache created by CreateDedicatedCache. | |
FileRequestPtr | FlushCache (AZStd::string_view relativePath) override |
Clears a file from all caches in use by Streamer. | |
FileRequestPtr & | FlushCache (FileRequestPtr &request, AZStd::string_view relativePath) override |
Clears a file from all caches in use by Streamer. | |
FileRequestPtr | FlushCaches () override |
Forcefully clears out all caches internally held by the available devices. | |
FileRequestPtr & | FlushCaches (FileRequestPtr &request) override |
Forcefully clears out all caches internally held by the available devices. | |
FileRequestPtr | Custom (AZStd::any data) override |
Creates a custom request. | |
FileRequestPtr & | Custom (FileRequestPtr &request, AZStd::any data) override |
Creates a custom request. | |
FileRequestPtr & | SetRequestCompleteCallback (FileRequestPtr &request, OnCompleteCallback callback) override |
Sets a callback function that will trigger when the provided request completes. | |
FileRequestPtr | CreateRequest () override |
Create a new blank request. | |
void | CreateRequestBatch (AZStd::vector< FileRequestPtr > &requests, size_t count) override |
Creates a number of new blank requests. | |
void | QueueRequest (const FileRequestPtr &request) override |
Queues a request for processing by Streamer's stack. | |
void | QueueRequestBatch (const AZStd::vector< FileRequestPtr > &requests) override |
Queue a batch of requests for processing by Streamer's stack. | |
void | QueueRequestBatch (AZStd::vector< FileRequestPtr > &&requests) override |
Queue a batch of requests for processing by Streamer's stack. | |
bool | HasRequestCompleted (FileRequestHandle request) const override |
Check if the provided request has completed. | |
IStreamerTypes::RequestStatus | GetRequestStatus (FileRequestHandle request) const override |
Check the status of a request. | |
AZStd::chrono::steady_clock::time_point | GetEstimatedRequestCompletionTime (FileRequestHandle request) const override |
Returns the time that the provided request will complete. | |
bool | GetReadRequestResult (FileRequestHandle request, void *&buffer, u64 &numBytesRead, IStreamerTypes::ClaimMemory claimMemory=IStreamerTypes::ClaimMemory::No) const override |
Gets the result for operations that read data. | |
void | CollectStatistics (AZStd::vector< Statistic > &statistics) override |
Call to collect statistics from all the components that make up Streamer. | |
FileRequestPtr | Report (AZStd::vector< Statistic > &output, IStreamerTypes::ReportType reportType) override |
Tells AZ::IO::Streamer the collect information for the selected report type and store it in the provided output. | |
FileRequestPtr & | Report (FileRequestPtr &request, AZStd::vector< Statistic > &output, IStreamerTypes::ReportType reportType) override |
Tells AZ::IO::Streamer the collect information for the selected report type and store it in the provided output. | |
const IStreamerTypes::Recommendations & | GetRecommendations () const override |
Returns configuration recommendations as reported by the scheduler. | |
void | SuspendProcessing () override |
Suspends processing of requests in Streamer's stack. | |
void | ResumeProcessing () override |
Resumes processing after a previous call to SuspendProcessing. | |
bool | IsSuspended () const override |
Whether or not processing of requests has been suspended. | |
void | RecordStatistics () |
Records the statistics to a profiler. | |
Streamer (const AZStd::thread_desc &threadDesc, AZStd::unique_ptr< Scheduler > streamStack) | |
Public Member Functions inherited from AZ::IO::IStreamer | |
AZ_RTTI (IStreamer, "{0015594D-6EA5-4309-A2AD-1D704F264A66}") | |
virtual FileRequestPtr | Read (AZStd::string_view relativePath, void *outputBuffer, size_t outputBufferSize, size_t readSize, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0)=0 |
virtual FileRequestPtr & | Read (FileRequestPtr &request, AZStd::string_view relativePath, void *outputBuffer, size_t outputBufferSize, size_t readSize, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0)=0 |
virtual FileRequestPtr | Read (AZStd::string_view relativePath, IStreamerTypes::RequestMemoryAllocator &allocator, size_t size, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0)=0 |
virtual FileRequestPtr & | Read (FileRequestPtr &request, AZStd::string_view relativePath, IStreamerTypes::RequestMemoryAllocator &allocator, size_t size, IStreamerTypes::Deadline deadline=IStreamerTypes::s_noDeadline, IStreamerTypes::Priority priority=IStreamerTypes::s_priorityMedium, size_t offset=0)=0 |
virtual FileRequestPtr | Cancel (FileRequestPtr target)=0 |
virtual FileRequestPtr & | Cancel (FileRequestPtr &request, FileRequestPtr target)=0 |
virtual FileRequestPtr | RescheduleRequest (FileRequestPtr target, IStreamerTypes::Deadline newDeadline, IStreamerTypes::Priority newPriority)=0 |
virtual FileRequestPtr & | RescheduleRequest (FileRequestPtr &request, FileRequestPtr target, IStreamerTypes::Deadline newDeadline, IStreamerTypes::Priority newPriority)=0 |
virtual FileRequestPtr | CreateDedicatedCache (AZStd::string_view relativePath)=0 |
virtual FileRequestPtr & | CreateDedicatedCache (FileRequestPtr &request, AZStd::string_view relativePath)=0 |
virtual FileRequestPtr | DestroyDedicatedCache (AZStd::string_view relativePath)=0 |
virtual FileRequestPtr & | DestroyDedicatedCache (FileRequestPtr &request, AZStd::string_view relativePath)=0 |
virtual FileRequestPtr | FlushCache (AZStd::string_view relativePath)=0 |
virtual FileRequestPtr & | FlushCache (FileRequestPtr &request, AZStd::string_view relativePath)=0 |
virtual FileRequestPtr | FlushCaches ()=0 |
virtual FileRequestPtr & | FlushCaches (FileRequestPtr &request)=0 |
virtual FileRequestPtr | Report (AZStd::vector< Statistic > &output, IStreamerTypes::ReportType reportType)=0 |
virtual FileRequestPtr & | Report (FileRequestPtr &request, AZStd::vector< Statistic > &output, IStreamerTypes::ReportType reportType)=0 |
virtual FileRequestPtr | Custom (AZStd::any data)=0 |
virtual FileRequestPtr & | Custom (FileRequestPtr &request, AZStd::any data)=0 |
virtual FileRequestPtr & | SetRequestCompleteCallback (FileRequestPtr &request, OnCompleteCallback callback)=0 |
virtual FileRequestPtr | CreateRequest ()=0 |
virtual void | CreateRequestBatch (AZStd::vector< FileRequestPtr > &requests, size_t count)=0 |
virtual void | QueueRequest (const FileRequestPtr &request)=0 |
virtual void | QueueRequestBatch (const AZStd::vector< FileRequestPtr > &requests)=0 |
virtual void | QueueRequestBatch (AZStd::vector< FileRequestPtr > &&requests)=0 |
virtual bool | HasRequestCompleted (FileRequestHandle request) const =0 |
virtual IStreamerTypes::RequestStatus | GetRequestStatus (FileRequestHandle request) const =0 |
virtual AZStd::chrono::steady_clock::time_point | GetEstimatedRequestCompletionTime (FileRequestHandle request) const =0 |
virtual bool | GetReadRequestResult (FileRequestHandle request, void *&buffer, u64 &numBytesRead, IStreamerTypes::ClaimMemory claimMemory=IStreamerTypes::ClaimMemory::No) const =0 |
virtual void | CollectStatistics (AZStd::vector< Statistic > &statistics)=0 |
virtual const IStreamerTypes::Recommendations & | GetRecommendations () const =0 |
virtual void | SuspendProcessing ()=0 |
virtual void | ResumeProcessing ()=0 |
virtual bool | IsSuspended () const =0 |
Whether or not processing of requests has been suspended. | |
Additional Inherited Members | |
Public Types inherited from AZ::IO::IStreamer | |
using | OnCompleteCallback = AZStd::function< void(FileRequestHandle)> |
Data streamer.
|
overridevirtual |
Sets a request to the cancel command.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a request to cancel a previously queued request.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Call to collect statistics from all the components that make up Streamer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a dedicated cache for the target file.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a dedicated cache for the target file.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Create a new blank request.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a number of new blank requests.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a custom request.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a custom request.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Destroy a dedicated cache created by CreateDedicatedCache.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Destroy a dedicated cache created by CreateDedicatedCache.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Clears a file from all caches in use by Streamer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Clears a file from all caches in use by Streamer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Forcefully clears out all caches internally held by the available devices.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Forcefully clears out all caches internally held by the available devices.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Returns the time that the provided request will complete.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Gets the result for operations that read data.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Returns configuration recommendations as reported by the scheduler.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Check the status of a request.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Check if the provided request has completed.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Whether or not processing of requests has been suspended.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Queues a request for processing by Streamer's stack.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Queue a batch of requests for processing by Streamer's stack.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Queue a batch of requests for processing by Streamer's stack.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a request to read a file with an allocator to create the output buffer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a request to read a file with a user provided output buffer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Set a request to the read command with an allocator to create the output buffer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Sets a request to the read command with a user provided output buffer.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Tells AZ::IO::Streamer the collect information for the selected report type and store it in the provided output.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Tells AZ::IO::Streamer the collect information for the selected report type and store it in the provided output.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Sets a request to the reschedule command.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Creates a request to adjust a previous queued request.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Resumes processing after a previous call to SuspendProcessing.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Sets a callback function that will trigger when the provided request completes.
Implements AZ::IO::IStreamer.
|
overridevirtual |
Suspends processing of requests in Streamer's stack.
Implements AZ::IO::IStreamer.