| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Use the more specific already included exception classes for common
errors to keep things more understandable.
|
|
|
|
|
| |
In preparation for using the built in C++ exception classes, which do
not accept a format string.
|
|
|
|
|
| |
It's more readable than 0, and a bit safer than NULL, so let's try to
follow modern norms.
|
|
|
|
|
| |
Avoid having our own custom stuff and instead use the modern, standard
types, for familiarity.
|
|
|
|
|
| |
Allow subclasses to call it, instead of it being strictly internal. This
is useful when a subclass can only provide data in minimum sized chunks.
|
|
|
|
|
|
| |
macOS' built in VNC server unfortunately sends the entire monitor in a
single rect, so we need to be prepared to buffer a lot of data in case
the monitor has a large resolution.
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
This allows us to handle peaks in input and output streams gracefully
without having to block processing.
|
| |
|
| |
|
|
|
|
|
| |
Just have a simply number of bytes argument to avoid a lot of
complexity.
|
|
Most streams are backed by a memory buffer. Create common base classes
for this functionality to avoid code duplication.
|