aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/io/AutoReadStream.h
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-06-24 00:06:25 +0800
committercrupest <crupest@outlook.com>2024-06-25 00:12:29 +0800
commit807c1dfe8a897f9c61bf3549ff2566917b53023b (patch)
tree8f0bfed314747ff570fa99577e8954060194ed7f /include/cru/common/io/AutoReadStream.h
parent2f5651cd1a1efb136179cdbcb3b29ed0cc11ca2a (diff)
downloadcru-807c1dfe8a897f9c61bf3549ff2566917b53023b.tar.gz
cru-807c1dfe8a897f9c61bf3549ff2566917b53023b.tar.bz2
cru-807c1dfe8a897f9c61bf3549ff2566917b53023b.zip
feat: fix linux build, complete PosixSpawnSubProcess.
NEED TEST: BufferStream, AutoReadStream, SubProcess.
Diffstat (limited to 'include/cru/common/io/AutoReadStream.h')
-rw-r--r--include/cru/common/io/AutoReadStream.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/cru/common/io/AutoReadStream.h b/include/cru/common/io/AutoReadStream.h
index 4ba4066f..2887b319 100644
--- a/include/cru/common/io/AutoReadStream.h
+++ b/include/cru/common/io/AutoReadStream.h
@@ -1,11 +1,9 @@
#pragma once
-#include "../Buffer.h"
+#include "../SelfResolvable.h"
#include "BufferStream.h"
#include "Stream.h"
-#include <condition_variable>
-#include <list>
#include <mutex>
#include <thread>
@@ -33,7 +31,8 @@ struct AutoReadStreamOptions {
* @brief A stream that wraps another stream and auto read it into a buffer in a
* background thread.
*/
-class CRU_BASE_API AutoReadStream : public Stream {
+class CRU_BASE_API AutoReadStream : public Stream,
+ public SelfResolvable<AutoReadStream> {
public:
/**
* @brief Wrap a stream and auto read it in background.
@@ -71,7 +70,5 @@ class CRU_BASE_API AutoReadStream : public Stream {
Index size_per_read_;
std::unique_ptr<BufferStream> buffer_stream_;
std::mutex buffer_stream_mutex_;
-
- std::thread background_thread_;
};
} // namespace cru::io