ergot 0.2.0

The latest in unsafe network stacks
Documentation

ergot

The latest in unsafe network stacks.

Purpose

Ergot is a network stack that can run on a variety of differently sized devices, from large desktop/server PCs down to very small single core microcontrollers.

Ergot allows developers to enjoy a coherent network of devices, regardless of the size of devices, or transport mediums used to connect them.

It includes type-safe sockets, addressing, and routing. In minimal MCU-sized configurations, it requires no allocator, and is no_std friendly. In larger PC-sized configurations, allocations may be used for performance and convenience.

Ergot has grown out of the lessons of the postcard and postcard-rpc projects, and aims to (eventually) supercede postcard-rpc in functionality. From a networking perspective, it is heavily inspired by AppleTalk, an OSI-model networking stack used on Mac computers in the late 80s and early 90s.

Ergot is still very early in development. Bugs are expected. Help is welcome.

ergot and ergot-base

Ergot is split into two parts:

  • ergot-base is the core of networking functionality, but is not intended to be used directly by end users
  • ergot extends ergot-base, and currently uses a postcard-rpc influenced set of capabilities

Most users should use ergot and not ergot-base. The split is to keep ergot-base stable as I iterate on the behavior of sockets in ergot.

Name

The name "ergot" (pronounced "ur-get", or more specifically /ˈɜːrɡət/, UR-gət) comes from the Ergot fungus, a parasitic fungus that grows on grains such as rye, produces Lysergic Acid, the precursor of LSD.

This name was chosen in line with the naming theme of the mycelium project.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.