#type #channel #session #protocols #async #async-channel

dialectic-null

A no-op backend for the Dialectic crate, intended for benchmarking and testing

1 unstable release

0.1.0 Apr 1, 2021

#2142 in Asynchronous

21 downloads per month
Used in dialectic

MIT license

155KB
1.5K SLoC

Rust license: MIT crates.io docs.rs documentation

This crate contains the "null" backend for Dialectic. If you are a user, you will likely never have a use for this, as what it does is completely eliminate any transport backend and it can only send and receive the unit type (). The null backend is used within Dialectic for testing and benchmarking purposes, for example to determine how much overhead Dialectic's constructs have over raw operations.


lib.rs:

A "null" backend implementation for the dialectic crate which can only send and receive the unit type ().

This backend is useful primarily only for benchmarking, as it does the absolute minimum amount of work, so that it is easier to isolate performance issues in Dialectic itself. You cannot implement most protocols using this backend, as it is limited to transporting the unit type () and cannot choose or offer! more than a single choice.

Dependencies

~5MB
~94K SLoC