- 16 Aug, 2018 1 commit
-
-
Crunkle authored
-
- 15 Aug, 2018 21 commits
-
-
Kenton Varda authored
More JSON annotation fixes/improvements
-
Kenton Varda authored
In particular, it should not be necessary to specify a void union member's value explicitly. The discriminator should be sufficient. It should also be permitted to omit default values as long as the descriminator specifies the variant.
-
Kenton Varda authored
(Also make sure that external struct-unions are tested.)
-
Kenton Varda authored
-
Kenton Varda authored
This is particularly needed since JsonValueHandler is re-registered every time a JsonValue field is seen.
-
Kenton Varda authored
Implement annotations to control JSON parsing.
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
The code was init()ing the union field when the discriminant was seen, but this only works if the field type is a struct or group. Instead we store the field schema and initialize it when we see the value later.
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
This avoids the need for a weird struct-as-namespace pattern inside json.capnp.
-
Kenton Varda authored
Features: - Rename any field or enum value for JSON purposes. - Flatten structs/groups into their parent object, possibly with a prefix. - Assign a special discriminant field for unions, so that union members can be flattened without ambiguity.
-
- 14 Aug, 2018 1 commit
-
-
Kenton Varda authored
Disallow copy construction/assignment of (Atomic)Refcounted classes
-
- 13 Aug, 2018 2 commits
-
-
Harris Hancock authored
If a multiply-inherited subclass of kj::Refcounted is move-assigned from an object of its other parent class's type, the reference count would get zeroed out. This change makes such mistakes a compile error.
-
Kenton Varda authored
A bunch of issue fixes for 0.7
-
- 12 Aug, 2018 6 commits
-
-
Kenton Varda authored
On Windows, we don't have `fork()` and `exec()`, but rather `spawn()`, which does both in one call. This makes FD inheritance hard -- the parent process has to set up its own FD table to be what it wants the child to receive, then call spawn(), then set things back. `capnp` does all that, but there was a problem: when it created a pipe, it failed to set the FDs as non-inheritable (Windows equivalent of CLOEXEC). Thus the child would implicitly inherit both ends of the pipe without knowing it. Since it would never close the write end, it would never receive EOF on the read end. The fix turns out to be simple: create the pipe non-inheritable. We are already separately using `dup2()` to create the copy of the descriptor that we actually want inherited. Fixes #488.
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
Kenton Varda authored
-
- 10 Aug, 2018 2 commits
-
-
Kenton Varda authored
Expose CONNECTION_HEADERS_COUNT in http.h
-
Harris Hancock authored
To safely use HttpHeaders::serialize*() with overridden connection-level headers, dependent code must stay up-to-date with any changes in the builtin header list. We now expose CONNECTION_HEADERS_COUNT and its friends to facilitate this.
-
- 08 Aug, 2018 3 commits
-
-
Kenton Varda authored
Work around apparent Clang optimization bug on arm64.
-
Kenton Varda authored
-
Kenton Varda authored
Work around qemu-user mishandling O_TMPDIR.
-
- 07 Aug, 2018 1 commit
-
-
Kenton Varda authored
-
- 05 Aug, 2018 3 commits
-
-
Kenton Varda authored
Implement kj::Table, an alternative to STL maps/sets.
-
Kenton Varda authored
-
Kenton Varda authored
-