bytecodealliance / bytecodealliance/rustix

socket/sockopt: kernel timestamping support

Aperta
#1,469 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Rust
Stelle
2.1k
Fork
296
Merge medio
6g 22h
PR unite (30g)
4

Descrizione

I'm trying to switch away from nix/libc to this crate & I found that rustix currently doesn't provide functions for using kernel timestamping. The `nix` crate provides the following required for kernel timestamping:
- sockopt: [ReceiveTimestamp](https://docs.rs/nix/latest/nix/sys/socket/sockopt/struct.ReceiveTimestamp.html)
- sockopt: [ReceiveTimestampns](https://docs.rs/nix/latest/nix/sys/socket/sockopt/struct.ReceiveTimestampns.html)
- sockopt: [Timestamping](https://docs.rs/nix/latest/nix/sys/socket/sockopt/struct.Timestamping.html)
- sockopt: [TimestampingFlag](https://docs.rs/nix/latest/nix/sys/socket/struct.TimestampingFlag.html) (for `Timestamping`)
- socket: [ControlMessageOwned::ScmTimestamp](https://docs.rs/nix/latest/nix/sys/socket/enum.ControlMessageOwned.html#variant.ScmTimestamp) (for `ReceiveTimestamp`)
- socket: [ControlMessageOwned::ScmTimestampns](https://docs.rs/nix/latest/nix/sys/socket/enum.ControlMessageOwned.html#variant.ScmTimestampns) (for `ReceiveTimestampns`)
- socket: [ControlMessageOwned::ScmTimestampsns](https://docs.rs/nix/latest/nix/sys/socket/enum.ControlMessageOwned.html#variant.ScmTimestampsns) (for `Timestamping`)
- socket: [Timestamps](https://docs.rs/nix/latest/nix/sys/socket/struct.Timestamps.html) (for `Timestamping`)

I'm willing to work on a PR contributing a similar API (with individual functions for each sockopt variant, as is the rustix way).

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia confrontando le API socket esistenti di rustix con le opzioni di timestamping del kernel e i messaggi di controllo di nix elencati. L'ambito comprende le funzionalità ReceiveTimestamp, ReceiveTimestampns, Timestamping, TimestampingFlag, ScmTimestamp, ScmTimestampns, ScmTimestampsns e Timestamps; il lavoro è completato quando rustix fornisce API individuali equivalenti per questi casi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
networking, operating-systems
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.