Navigation
API > API/Runtime > API/Runtime/Chaos
Triple Buffer Implementation - Not thread-safe requires external locks
| Name | FTripleBuffer |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Framework/MultiBufferResource.h |
| Include Path | #include "Chaos/Framework/MultiBufferResource.h" |
Syntax
template<typename ResourceType>
class FTripleBuffer : public Chaos::IBufferResource< ResourceType >
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FTripleBuffer() |
Chaos/Framework/MultiBufferResource.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FTripleBuffer() |
Chaos/Framework/MultiBufferResource.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Data | ResourceType | Chaos/Framework/MultiBufferResource.h | ||
| ReadIndex | TAtomic< int32 > | Chaos/Framework/MultiBufferResource.h | ||
| WriteIndex | TAtomic< int32 > | Chaos/Framework/MultiBufferResource.h |
Functions
Public
Overridden from IBufferResource
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ResourceType * AccessProducerBuffer() |
Chaos/Framework/MultiBufferResource.h | ||
virtual void FlipProducer() |
Chaos/Framework/MultiBufferResource.h | ||
virtual EMultiBufferMode GetBufferMode() |
Chaos/Framework/MultiBufferResource.h | ||
virtual const ResourceType * GetConsumerBuffer() |
Chaos/Framework/MultiBufferResource.h | ||
virtual ResourceType * GetConsumerBufferMutable() |
NOTE: these changes may not make it to producer side, it is meant for resource management not to pass information back. | Chaos/Framework/MultiBufferResource.h | |
virtual const ResourceType * GetProducerBuffer() |
Chaos/Framework/MultiBufferResource.h |