input/Stream: remove attribute "cond", replace with handler interface
This adds a bit of overhead, but also adds flexibility to the API, because arbitrary triggers may be invoked from that virtual method implementation, not just Cond::signal(). The motivation for this is to make the handlers more dynamic, for the upcoming buffering class utilizing ProxyInputStream.
This commit is contained in:
@@ -35,8 +35,8 @@ class FileInputStream final : public InputStream {
|
||||
|
||||
public:
|
||||
FileInputStream(const char *path, FileReader &&_reader, off_t _size,
|
||||
Mutex &_mutex, Cond &_cond)
|
||||
:InputStream(path, _mutex, _cond),
|
||||
Mutex &_mutex)
|
||||
:InputStream(path, _mutex),
|
||||
reader(std::move(_reader)) {
|
||||
size = _size;
|
||||
seekable = true;
|
||||
@@ -54,8 +54,7 @@ public:
|
||||
};
|
||||
|
||||
InputStreamPtr
|
||||
OpenFileInputStream(Path path,
|
||||
Mutex &mutex, Cond &cond)
|
||||
OpenFileInputStream(Path path, Mutex &mutex)
|
||||
{
|
||||
FileReader reader(path);
|
||||
|
||||
@@ -75,7 +74,7 @@ OpenFileInputStream(Path path,
|
||||
|
||||
return std::make_unique<FileInputStream>(path.ToUTF8().c_str(),
|
||||
std::move(reader), info.GetSize(),
|
||||
mutex, cond);
|
||||
mutex);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user