| Crates.io | sctp-proto |
| lib.rs | sctp-proto |
| version | 0.7.0 |
| created_at | 2021-11-26 17:36:29.437336+00 |
| updated_at | 2026-01-20 11:43:13.98771+00 |
| description | A pure Rust implementation of SCTP in Sans-IO style |
| homepage | https://github.com/algesten/sctp-proto |
| repository | https://github.com/algesten/sctp-proto |
| max_upload_size | |
| id | 488101 |
| size | 559,004 |
Low-level protocol logic for the SCTP protocol
sctp-proto contains a fully deterministic implementation of SCTP protocol logic. It contains no networking code and does not get any relevant timestamps from the operating system. Most users may want to use the futures-based sctp-async API instead.
The main entry point is Endpoint, which manages associations for a single socket. Use Endpoint::connect to initiate outgoing associations, or provide a ServerConfig to accept incoming ones. Incoming UDP datagrams are fed to Endpoint::handle, which either creates a new Association or returns an event to pass to an existing one.
Association holds the protocol state for a single SCTP association. It produces Events and outgoing packets via polling methods (Association::poll, Association::poll_transmit). Each association contains multiple Streams for reading and writing data.
This crate is maintained by the str0m project, which has been using it since January 2023. Other consumers include ex_sctp for Elixir WebRTC. The crate is kept in sync with rtc-sctp where possible to share bug fixes.
Originally written by Rain Liu as a Sans-IO implementation of SCTP for the
webrtc-rs ecosystem, this crate predates rtc-sctp in the webrtc-rs/rtc
monorepo, which was later derived from this work. Maintenance was transferred
to the str0m maintainers in January 2026.
License: MIT/Apache-2.0