Index: src/libchcore/TOverlappedMemoryPool.h =================================================================== diff -u -N -r1506d51ff1c0a5d156dab398051efc0c87473e81 -r3ccbdb8d3eac3427e6d3354854476e57fdc7ceb9 --- src/libchcore/TOverlappedMemoryPool.h (.../TOverlappedMemoryPool.h) (revision 1506d51ff1c0a5d156dab398051efc0c87473e81) +++ src/libchcore/TOverlappedMemoryPool.h (.../TOverlappedMemoryPool.h) (revision 3ccbdb8d3eac3427e6d3354854476e57fdc7ceb9) @@ -19,8 +19,8 @@ #ifndef __TOVERLAPPEDDATABUFFERQUEUE_H__ #define __TOVERLAPPEDDATABUFFERQUEUE_H__ -#include #include "TEvent.h" +#include "TBufferList.h" namespace chcore { @@ -41,29 +41,13 @@ size_t GetAvailableBufferCount() const; size_t GetSingleBufferSize() const; - // buffer management - void AddBuffer(TOverlappedDataBuffer* pBuffer); - TOverlappedDataBuffer* GetBuffer(); + TBufferListPtr GetBufferList() const;; - // event access - HANDLE GetEventHasBuffers() const { return m_eventHasBuffers.Handle(); } - bool HasBuffers() const { return !m_dequeBuffers.empty(); } - - HANDLE GetEventAllBuffersAccountedFor() const { return m_eventAllBuffersAccountedFor.Handle(); } - bool AreAllBuffersAccountedFor() const; - - void WaitForMissingBuffers(HANDLE hKillEvent) const; - private: - void UpdateAllBuffersAccountedFor(); - void UpdateHasBuffers(); - - private: std::vector> m_listAllBuffers; - std::deque m_dequeBuffers; + TBufferListPtr m_spQueueBuffers; - TEvent m_eventHasBuffers; TEvent m_eventAllBuffersAccountedFor; };