Wwise SDK 2022.1.4
_ak_fifo_queue_8h_source
Version
menu_open
link
AkFifoQueue.h
Go to the documentation of this file.
100 /// Returns false if the enqueue could not be performed. This can happen if the queue is "full", and some dequeue operations have to occur.
109 AkInt64 sequenceDelta = AkAtomicLoad64(&pBuffer[writePos & uQueueIndexMask].uSequence) - writePos;
110 // if we're in the right spot, and we can successfully write an updated write position, break out and write the handle into the queue
120 // we would have over-enqueued if we tried to write the position in. Return false; the user needs to decide how to handle things
125 // if it didn't work, reload writePos: someone else must have written to the sequence and we need to get caught up
137 /// \return true if a value was successfully dequeued, false otherwise (if false, io_value will not be written to)
146 AkInt64 sequenceDelta = AkAtomicLoad64(&pBuffer[readPos & uQueueIndexMask].uSequence) - (readPos + 1);
147 // if we're in the right spot, and we can successfully write an updated read position, break out and read the entry
169 AkAtomicStore64(&pBuffer[readPos & uQueueIndexMask].uSequence, readPos + m_uQueueIndexMask + 1);
178 AkInt64 sequenceDelta = AkAtomicLoad64(&m_buffer[readPos & m_uQueueIndexMask].uSequence) - (readPos + 1);
__forceinline int AkAtomicCas64(AkAtomic64 *pDest, long long proposed, long long expected)
Definition: AkAtomic.h:87
__forceinline void AkAtomicStore64(AkAtomic64 *pDest, long long value)
Definition: AkAtomic.h:79
AKSOUNDENGINE_API void Free(AkMemPoolId in_poolId, void *in_pMemAddress)
Definition: AkFifoQueue.h:38
Was this page helpful?
Need Support?
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageTell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise