16 #ifndef ACSDKASSETSCOMMON_DOWNLOADCHUNKQUEUE_H_ 17 #define ACSDKASSETSCOMMON_DOWNLOADCHUNKQUEUE_H_ 19 #include <condition_variable> 27 namespace acsdkAssets {
62 bool push(
char* data,
size_t size);
69 bool pushComplete(
bool succeeded);
76 std::shared_ptr<DataChunk> waitAndPop();
84 bool popComplete(
bool succeeded);
90 inline bool isSizeCheckingEnabled()
const {
91 return m_expectedSize > 0;
96 std::condition_variable m_cond;
102 std::queue<std::shared_ptr<DataChunk>> m_queue;
105 size_t m_expectedSize;
108 size_t m_downloadedSize;
118 std::shared_ptr<DataChunk> m_activeChunk;
121 size_t m_maxQueueSizeReached;
124 size_t m_bytesToReport;
127 size_t m_reportIncrement;
134 #endif // ACSDKASSETSCOMMON_DOWNLOADCHUNKQUEUE_H_
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
StreamingStatus
Definition: DownloadChunkQueue.h:33
Definition: DownloadChunkQueue.h:39