Skip to content

Conversation

@dvdhrm
Copy link
Member

@dvdhrm dvdhrm commented Jan 9, 2026

Introduce a new replacement for the incomplete osi::json. This is a new complete JSON implementation that uses tmp::io::stream to support streaming transport layers.

The implementation is fully compliant with the JSON spec, but limits the scope to UTF-8 transport layers (as defined in the I-JSON RFC). The implementation still operates on byte-streams, but will refuse any non-UTF-8 JSON data.

The new module tries to avoid copies wherever possible. Data is always handed out as reference, using the new osi::mown type to signal maybe-owned data. If JSON encodes data in a non-raw way (like using escape sequences), this will require copies.

Introduce a new replacement for the incomplete osi::json. This is a new
complete JSON implementation that uses `tmp::io::stream` to support
streaming transport layers.

The implementation is fully compliant with the JSON spec, but limits the
scope to UTF-8 transport layers (as defined in the I-JSON RFC). The
implementation still operates on byte-streams, but will refuse any
non-UTF-8 JSON data.

The new module tries to avoid copies wherever possible. Data is always
handed out as reference, using the new `osi::mown` type to signal
maybe-owned data. If JSON encodes data in a non-raw way (like using
escape sequences), this will require copies.

Signed-off-by: David Rheinsberg <david@readahead.eu>
@dvdhrm dvdhrm merged commit dd48169 into bus1:main Jan 9, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant