aboutsummaryrefslogtreecommitdiff
path: root/include/cru/base/io/AutoReadStream.h
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2026-03-07 20:42:37 +0800
committerYuqian Yang <crupest@crupest.life>2026-03-07 20:42:37 +0800
commit38756822825e20eca3b9e01b735946175223d692 (patch)
treefc2a495bfc0e082d5ed9a1642278ae6467fe2742 /include/cru/base/io/AutoReadStream.h
parent924f4b472712d0cfc55b81dcb3eaed3f8a478288 (diff)
downloadcru-38756822825e20eca3b9e01b735946175223d692.tar.gz
cru-38756822825e20eca3b9e01b735946175223d692.tar.bz2
cru-38756822825e20eca3b9e01b735946175223d692.zip
Refactor stream.
Diffstat (limited to 'include/cru/base/io/AutoReadStream.h')
-rw-r--r--include/cru/base/io/AutoReadStream.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/cru/base/io/AutoReadStream.h b/include/cru/base/io/AutoReadStream.h
index 56e2beca..41ca1118 100644
--- a/include/cru/base/io/AutoReadStream.h
+++ b/include/cru/base/io/AutoReadStream.h
@@ -3,7 +3,6 @@
#include "BufferStream.h"
#include "Stream.h"
-#include <mutex>
#include <thread>
namespace cru::io {
@@ -45,18 +44,16 @@ class CRU_BASE_API AutoReadStream : public Stream {
~AutoReadStream() override;
public:
- CRU_STREAM_IMPLEMENT_CLOSE_BY_DO_CLOSE
-
- void BeginToDrop(bool auto_close = true, bool auto_delete = true);
+ Stream* GetUnderlyingStream() { return stream_; }
protected:
+ bool DoCanWrite() override;
Index DoRead(std::byte* buffer, Index offset, Index size) override;
Index DoWrite(const std::byte* buffer, Index offset, Index size) override;
void DoFlush() override;
+ void DoClose() override;
private:
- void DoClose();
-
void BackgroundThreadRun();
private: