aboutsummaryrefslogtreecommitdiffstats
path: root/common/rdr/BufferedOutStream.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Avoid shadowing variablesPierre Ossman2024-06-241-2/+2
| | | | | It's a source of confusion and possibly bugs to reuse the same variable name for multiple things.
* Use nullptr in all C++ codePierre Ossman2024-06-241-4/+4
| | | | | It's more readable than 0, and a bit safer than NULL, so let's try to follow modern norms.
* Use stdint typesPierre Ossman2023-02-011-4/+4
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Use BufferedOutStream in more streamsPierre Ossman2022-08-251-2/+12
| | | | | | Avoid duplicating all the memory mangement, and instead use the BufferedOutStream as a base clase for all out streams that need an intermediate buffer.
* Change streams to be asynchronousPierre Ossman2020-05-211-1/+3
| | | | | | | | | | Major restructuring of how streams work. Neither input nor output streams are now blocking. This avoids stalling the rest of the client or server when a peer is slow or unresponsive. Note that this puts an extra burden on users of streams to make sure they are allowed to do their work once the underlying transports are ready (e.g. monitoring fds).
* Check buffer usage with a simply booleanPierre Ossman2020-05-211-7/+7
| | | | | External callers don't need to know the exact details, only if there is data that needs to be flushed or not.
* Dynamically allocate stream buffersPierre Ossman2020-05-211-24/+67
| | | | | This allows us to handle peaks in input and output streams gracefully without having to block processing.
* Remove unused bufSize argument from streamsPierre Ossman2020-05-211-2/+2
|
* Simplify stream availability handlingPierre Ossman2020-05-211-12/+5
| | | | | Just have a simply number of bytes argument to avoid a lot of complexity.
* Create common base classes for buffered streamsPierre Ossman2020-05-211-0/+115
Most streams are backed by a memory buffer. Create common base classes for this functionality to avoid code duplication.