4 releases

0.1.1 Feb 28, 2023
0.1.0 Feb 4, 2022
0.1.0-dev.2 Dec 31, 2021
0.1.0-dev.1 Dec 29, 2021

#2113 in Encoding

MIT/Apache

38KB
722 lines

transmog-async

Asynchronous access to a Transmog-encoded item stream.

transmog-async forbids unsafe code crate version Documentation for main branch

This crate enables you to asynchronously read from a Transmog-encoded stream, or write transmog-encoded values. Most serialization format do not natively support serializing and deserializing in an asynchronous environment.

Transmog works around that on the receive side by buffering received bytes until a full element's worth of data has been received, and only then calling into the underlying Format. To make this work, it relies on the sender to prefix each encoded element with its encoded size.

On the write side, Transmog buffers the serialized values, and asynchronously sends the resulting bytestream.

This crate has been adapted from async-bincode to generically support the Format trait.

Open-source Licenses

This project, like all projects from Khonsu Labs, are open-source. This repository is available under the MIT License or the Apache License 2.0.

To learn more about contributing, please see CONTRIBUTING.md.

Dependencies

~2–10MB
~94K SLoC