| Crates.io | tygress |
| lib.rs | tygress |
| version | 0.1.1 |
| created_at | 2022-01-29 18:43:44.243695+00 |
| updated_at | 2022-01-29 19:11:12.725118+00 |
| description | A library implementing popular networking transport protocols in user space with Rust |
| homepage | |
| repository | https://github.com/ajguerrer/tygress |
| max_upload_size | |
| id | 523740 |
| size | 109,283 |
A library implementing popular networking transport protocols in user space with Rust.
async - Rust already has networking primitives for TCP/UDP. That
familiar API is reproduced here, but with non-blocking primitives similar to the API in
Tokio. These primitives are intended for use with the tygress executor multiplexing
network traffic between a NetDev to a collection of sockets.unsafe keyword is necessary to provide a type-safe
zero-copy API. Usage of unsafe is cordoned off to a small, well documented section of the
library, while the rest is written in safe Rust.no_std - A network stack all in one place using only the core
components of the Rust standard library. Implement the NetDev trait for your own network device
capable of receiving/transmitting Ethernet frames and BYOB (Bring Your Own Buffers) for the
sockets. Those running Unix/BSD may opt-in to some provided NetDev implementations.smoltcp - Used heavily as a reference throughout the project.tokio - Ideas for async networking primitives.embassy - Ideas for a no_std executor.zerocopy - Ideas for zero-copy type-safe headers.