summaryrefslogtreecommitdiff
path: root/src/input/AsyncInputStream.cxx
AgeCommit message (Collapse)Author
2021-01-01copyright year 2021Max Kellermann
2020-03-12replace assert.h with cassertRosen Penev
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-18copyright year 2020Max Kellermann
2019-06-17Copyright year 2019Max Kellermann
2019-05-29input/InputStream: make IsEOF() and IsAvailable() constMax Kellermann
2019-05-07event/Call, ...: use wait() with predicateMax Kellermann
2019-05-07input/InputStreams: pass std::unique_lock<> to various methodsMax Kellermann
2019-04-05input/InputStream: add `noexcept` to ReadTag()Max Kellermann
2019-04-04input/AsyncInputStream: add `noexcept`Max Kellermann
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-10-31*: copyright year 2018Max Kellermann
2018-06-22input/Stream: remove attribute "cond", replace with handler interfaceMax Kellermann
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.
2018-01-20input/Domain: remove obsolete variableMax Kellermann
2017-12-20input/InputStream: ReadTag() returns std::unique_ptr<Tag>Max Kellermann
2017-11-10util/{Const,Writable}Buffer, ...: rename IsEmpty() to empty(), imitating STLMax Kellermann
2017-09-21input/async: use class HugeArray instead of HugeAllocationMax Kellermann
2017-09-21util/HugeAllocator: move MADV_DONTFORK setting to HugeForkCow()Max Kellermann
Enforcing MADV_DONTFORK is a surprising limitation for this library which aims to be generic.
2017-09-19input/async: use std::exchange()Max Kellermann
2017-09-19input/async: use C++11 initializersMax Kellermann
2017-06-04Merge tag 'v0.20.9'Max Kellermann
release v0.20.9
2017-06-04*: add lost of "noexcept" specificationsMax Kellermann
2017-05-15Merge tag 'v0.20.7'Max Kellermann
release v0.20.7
2017-05-08*: add "noexcept" to many, many function prototypesMax Kellermann
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing.
2017-01-25input/async: pass EventLoop& to constructorMax Kellermann
2017-01-03update copyright yearMax Kellermann
2017-01-03thread/Mutex: remove ScopeLock, use std::lock_guard directlyMax Kellermann
2016-09-16input/InputStream: migrate from class Error to C++ exceptionsMax Kellermann
2016-09-16input/async: eliminate attribute "postponed_error"Max Kellermann
Switch the remaining users to "postponed_exception".
2016-09-09input/Plugin: migrate open() from class Error to C++ exceptionsMax Kellermann
2016-09-09input/async: add attribute "postponed_exception"Max Kellermann
Will replace "postponed_error".
2016-06-17input/alsa: rebase on AsyncInputStreamMax Kellermann
Use the snd_pcm_t only in the IOThread, and reuse code that is well-known to work.
2016-06-17input/async: use class DeferredCallMax Kellermann
2016-06-17input/async: use class HugeAllocationMax Kellermann
2016-03-01*: include cleanup (using iwyu)Max Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2015-01-06Merge branch 'v0.19.x'Max Kellermann
2015-01-06input/async: reset the "open" flag after seeking successfullyMax Kellermann
Fixes a problem with the "curl" input plugin: IsEOF() always returns true because the "open" flag was cleared by CurlInputStream::RequestDone() when end-of-stream was reached. This flag stays false even when seeking to another position has succeeded. This patch resets the "open" flag to true after seeking successfully.
2015-01-01Copyright year 2015Max Kellermann
2014-11-07input/AsyncInputStream: set Error when seeking unseekableMax Kellermann
Fixes crash in the "audiofile" decoder while logging the seek error.
2014-08-19InputStream: make offset_type unsignedMax Kellermann
2014-06-21input/async: use IsEOF() instead of !open for "ready" checkMax Kellermann
Checking "!open" did not work with the NFS plugin because that plugin does not close the file automatically, unlike CURL.
2014-06-21Revert "AsyncInputStream: fix assertion failure in AppendToBuffer()"Max Kellermann
This reverts commit 966c4244cbe0de174df1e72e917078269ec9dbb9. The commit was bad, because the bug was really in NfsInputStream::DoRead(); see previous commit.
2014-06-17AsyncInputStream: fix assertion failure in AppendToBuffer()Max Kellermann
2014-06-17AsyncInputStream: reset "paused" when seekingMax Kellermann
May cause assertion failure.
2014-06-17input/curl: hold mutex while writing to postponed_errorMax Kellermann
2014-05-24input/async: add offset/size comparison to IsEOF()Max Kellermann
2014-05-24input/curl: move code to AsyncInputStreamMax Kellermann
New base class for other InputStream implementations that run in the I/O thread.