- 19 Aug, 2018 1 commit
-
-
Kenton Varda authored
-
- 05 Aug, 2018 1 commit
-
-
Kenton Varda authored
-
- 12 Jun, 2018 1 commit
-
-
Harris Hancock authored
Reading an unbounded amount of data from a stream is a potential DoS vector. To manage this risk, readAllText() and readAllBytes() now accept a `limit` parameter. For source backwards-compatibility, this limit defaults to kj::maxValue.
-
- 24 Apr, 2018 1 commit
-
-
Kenton Varda authored
-
- 21 Apr, 2018 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
- 18 Apr, 2018 1 commit
-
-
Kenton Varda authored
This lets you construct an AsyncInputStream / AsyncOutputStream pair that operates entirely within userspace, rather than pushing through a kernel-level pipe. This is far more efficient, avoiding system calls and reducing copies. The pipe does not buffer at all. Instead, it waits for both a read() and a write() call to be active at the same time, and then it fulfills one with the other. This implementation also optimizes pumps. Imagine the situation: you create a pipe; you call pumpTo() on the write end to pump it to some other; then you write to the write end of the pipe. In this case, the write will *directly* call the target stream to which the pipe is being pumped. Hence, adding daisy-chained pipes on top of a final output stream does not incur additional copies of the data. Similarly, tryPumpFrom() is optimized on the read end.
-
- 22 Mar, 2018 1 commit
-
-
Kenton Varda authored
It appears that QEMU: - Does not correctly set the MSG_TRUNC flag on recvmsg(). - Crashes when we try to use the IP_PKTINFO ancillary message. So let's skip those tests...
-
- 20 Nov, 2017 1 commit
-
-
Davide Italiano authored
-
- 21 Sep, 2017 1 commit
-
-
Kenton Varda authored
This allows a lot of nice design patterns, and might later the the basis for capnp 3-party handoff within a machine.
-
- 15 Sep, 2017 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
- 14 Sep, 2017 1 commit
-
-
Kenton Varda authored
-
- 12 Sep, 2017 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
- 18 Aug, 2017 2 commits
-
-
Oliver Giles authored
-
Oliver Giles authored
-
- 15 Aug, 2017 1 commit
-
-
Oliver Giles authored
Explicitly disabling 'unix-abstract:' on non-Linux Unix platforms needs more work than this, but maybe it's not worth it since the result would just be a different runtime failure message. For now just be consistent
-
- 14 Aug, 2017 1 commit
-
-
Oliver Giles authored
Abstract unix socket addresses can now be specified with the 'unix-abstract:' prefix, and the 'unix:' prefix now explicitly rejects addresses which contain NULL bytes
-
- 11 Aug, 2017 1 commit
-
-
Kenton Varda authored
It turns out this is more than just android. Some Debian Stretch docker image I'm working with seems to have this problem (but Stretch in general does not??).
-
- 27 Apr, 2017 1 commit
-
-
Kenton Varda authored
-
- 07 Nov, 2016 1 commit
-
-
Kenton Varda authored
-
- 07 Feb, 2015 1 commit
-
-
Kenton Varda authored
-
- 30 Dec, 2014 1 commit
-
-
Kenton Varda authored
A compatibility layer is provided to ease migration.
-
- 29 Dec, 2014 1 commit
-
-
Kenton Varda authored
-
- 12 Dec, 2014 1 commit
-
-
Kenton Varda authored
-
- 11 Dec, 2014 1 commit
-
-
Kenton Varda authored
-
- 23 Nov, 2014 1 commit
-
-
Kenton Varda authored
-
- 22 Nov, 2014 1 commit
-
-
Kenton Varda authored
-
- 20 Jun, 2014 1 commit
-
-
Kenton Varda authored
For portions currently copyright by Kenton (most of it), transfer copyright to Sandstorm Development Group, Inc. (Kenton's company). The license change is practically meaningless, as MIT and BSD 2-clause are legally equivalent. However, the BSD 2-clause license is sometimes confused for its ugly siblings, BSD 3-clause and BSD 4-clause. The MIT license is more immediately recognizeable for what it is. Rémy Blank and Jason Choy (the two non-trivial contributors) are on record as approving this change: https://groups.google.com/d/msg/capnproto/xXDd2HUOCcc/gbe_COIuXKYJ
-
- 05 Dec, 2013 2 commits
-
-
Kenton Varda authored
Make all Promise methods consistently consume the promise (returning a new promise when it makes sense), rename daemonize -> detach, and make eagerlyEvaluate() require an error handler (this caught several places where I forgot to use one).
-
Kenton Varda authored
-
- 04 Dec, 2013 3 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
Split AsyncIoProvider into high-level and low-level interfaces, so that alternate EventPort implementations can implement the low-level interface and reuse the higher-level stuff.
-
Kenton Varda authored
Overhaul the way EventLoop is specialized so that it's possible to hook up to an existing event loop infrastructure that is not KJ-aware. This also makes the async IO API more dependency-injection-friendly.
-
- 30 Nov, 2013 2 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
- 26 Nov, 2013 1 commit
-
-
Kenton Varda authored
Make EventLoop current when constructed, so that you can use the Promise methods even when the loop hasn't actually started yet.
-
- 15 Nov, 2013 1 commit
-
-
Kenton Varda authored
kj::runIoEventLoop() is a shortcut for setting up an EventLoop that can do I/O, without specifying a platform-specific EventLoop.
-
- 12 Nov, 2013 1 commit
-
-
Kenton Varda authored
-