tailfeather 0.0.1

Allocation-free, transport-agnostic building blocks for a Tailscale-compatible mesh node
Documentation
# tailfeather

`tailfeather` is a `no_std`, allocation-free implementation of the protocol
pieces needed by a small Tailscale-compatible mesh node. It exposes the
`keys`, `noise`, `control`, `netmap`, `disco`, `derp`, and `node` modules, and
reexports `wirefeather` as `tunnel` and `micro-h2` as `http2`.

The transport-agnostic `Node` is driven cooperatively:

```rust
use tailfeather::{Node, keys::{Identity, Rng}};

struct R;
impl Rng for R { fn fill_bytes(&mut self, out: &mut [u8]) { out.fill(42); } }

let mut node = Node::<8>::factory_reset(Identity::generate(&mut R), 1);
assert!(node.requires_persistence());
```

This crate is experimental protocol software, not an audited VPN product.