4 releases (breaking)

Uses new Rust 2024

0.4.0 Feb 5, 2026
0.3.0 Jan 28, 2026
0.2.0 Nov 3, 2025
0.1.0 Oct 11, 2025

#1119 in Network programming

Download history 14/week @ 2025-11-05 27/week @ 2025-11-12 38/week @ 2025-11-19 29/week @ 2025-11-26 23/week @ 2025-12-03 17/week @ 2025-12-10 23/week @ 2025-12-17 16/week @ 2025-12-24 14/week @ 2025-12-31 5/week @ 2026-01-07 4/week @ 2026-01-14 21/week @ 2026-01-21 24/week @ 2026-01-28 23/week @ 2026-02-04 20/week @ 2026-02-11 54/week @ 2026-02-18

121 downloads per month
Used in 18 crates

Apache-2.0

1MB
18K SLoC

SCION protocol data structures and serialization


lib.rs:

Protocol-level types for an endhost in the SCION Internet architecture

SCION is an Internet architecture that provides path-aware, end-to-end communication, with failure isolation and explicit trust information. Within the SCION network, autonomous systems (ASes), in which endhosts reside, are organized into independent routing groups called isolation domains (ISDs).

This crate provides Rust implementations of the core types used by endhosts within the SCION network:

  • [addresses][address] which identify ISDs, ASes, and endhosts;
  • [paths][path] which allow a user to choose the route taken by their packets through the network and provide information about those routes;
  • [SCION packet][packet] and [UDP datagram][datagram] implementations for encoding packets on the wire;
  • [control messages][scmp] for sending informational and error control messages to endhosts and routers in the network; and
  • [parsing logic][reliable] for the endhost-to-SCION-dispatcher communication.
  • [control plane][control_plane] for implementing the SCION control plane.

This crate does not perform any I/O. See the scion crate for (asynchronous) socket implementations that use these types.

Dependencies

~16–21MB
~296K SLoC