- 16 Jun, 2019 2 commits
-
-
Kenton Varda authored
Introduce kj::attachVal(), kj::attachRef(), and capnp::clone() utility functions
-
Kenton Varda authored
Add TwoPartyServer::drain().
-
- 15 Jun, 2019 4 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
This is frequently needed. Sandstorm had `OwnCapnp` for this purpose: https://github.com/sandstorm-io/sandstorm/blob/4d86a8144cdb43120ea12845738d0fe4a6ffcda1/src/sandstorm/util.h#L495-L525 The Workers codebase has some ad-hoc copies of this logic too, and multiple people have requested something similar on the mailing list.
-
Kenton Varda authored
This is a lot like Own<T>::attach() but for the case where you don't have a Own pointer, you just have a reference or value that you want to attach stuff to.
-
- 10 Jun, 2019 3 commits
-
-
Harris Hancock authored
Align HTTP entity-body delimiting rules with RFC 7230.
-
Harris Hancock authored
Skip test that fails under qemu-user, probably due to a qemu bug.
-
Kenton Varda authored
The main case where the code was wrong is when neither Content-Length nor Transfer-Encoding was provided on a response. In this case the response is delimited by closing the connection, but KJ previously rejected it outright. AFAICT almost no one on the whole internet relies on this anymore... almost.
-
- 09 Jun, 2019 3 commits
-
-
Kenton Varda authored
Fix exclusiveJoin() bug when both branches complete simultaneously.
-
Kenton Varda authored
-
Kenton Varda authored
-
- 30 May, 2019 2 commits
-
-
Kenton Varda authored
Implement FD passing in Cap'n Proto.
-
Kenton Varda authored
-
- 27 May, 2019 2 commits
-
-
Kenton Varda authored
Fix uninitialized byte arrays in encoding-test.
-
Kenton Varda authored
Initializer lists are temporaries. The code apparently works in debug mode but fails when optimized.
-
- 24 May, 2019 2 commits
-
-
Kenton Varda authored
Add support for url-safe base64 encoding
-
Joe Lee authored
-
- 02 May, 2019 2 commits
-
-
Kenton Varda authored
Fix bug in `kj::newOneWayPipe(0)`.
-
Kenton Varda authored
-
- 26 Apr, 2019 1 commit
-
-
Kenton Varda authored
Fix typos spotted by @a-robinson and update test failure messages to indicate that either testing failing could be due to OS SCM_RIGHTS truncation bug.
-
- 22 Apr, 2019 7 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
- 21 Apr, 2019 3 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
- 19 Apr, 2019 5 commits
-
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
According to David Klempner, this turns out not to be a safe assumption: https://twitter.com/CaptainSegfault/status/1112622245531144194 Interestingly, it turns out this optimization was also blocking the delivery of certain errors, because we would skip the read() where that error would otherwise be delivered. (Hence the unit test update.)
-
Kenton Varda authored
An endpoint (subclass of `Capability::Server`) may override `kj::Maybe<int> getFd()` to expose an underlying file descriptor. A remote client may use `Capability::Client::getFd()` on the endpoint's capability to get that FD. The client and server must explicitly opt into FD passing by passing a max-FDs-per-message limit to TwoPartyVatNetwork and using Unix sockets as the transport. Nothing other than that is needed.
-
Kenton Varda authored
Fulfill AsyncPipe::tryPumpFrom() on EOF
-
- 18 Apr, 2019 4 commits
-
-
Harris Hancock authored
Previously if the input stream being pumped from encountered an EOF while the other side of the pipe was being pumped elsewhere, we did not fulfill the tryPumpFrom() promise, leaving it hanging.
-
Kenton Varda authored
This is just the protocol change, not implementation.
-
Kenton Varda authored
Previously, FDs could only be sent separately from data, with the underlying implementation actually sending a dummy one-byte message. For Cap'n Proto FD passing, it's better if we can attach the FDs to the RPC message they arrived with, because it avoids the need to pre-negotiate where FD passing is supported: if the sender sends FDs but the recipient doesn't arrange to receive them, the FDs will be discarded and closed automatically by the OS. Whereas, if we are sending separate one-byte messages, the recipient needs to know what to do with those.
-
Kenton Varda authored
This is redundant as the destructor already uses a recoverable assertion, which will not throw during unwind. I have long assumed AutoCloseFd wrapped only an integer and was shocked to realize it was more that that...
-