Fix doc links, update rustdoc args

Fix some broken rust doc links.

Make sure rustdoc build fail on warnings
so we catch these broken links in CI.

Signed-off-by: Andrew Stoycos <astoycos@redhat.com>
pull/397/head
Andrew Stoycos 2 years ago
parent f3262e87bd
commit 82edd681c3

@ -34,4 +34,4 @@ async_std = ["async-io", "async"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
all-features = true all-features = true
rustdoc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs","-D", "warnings"]

@ -760,11 +760,10 @@ impl Bpf {
/// Takes ownership of a map with the given name. /// Takes ownership of a map with the given name.
/// ///
/// This API is intended for cases where the map must be moved into spawned /// Use this when borrowing with [`map`](crate::Bpf::map) or [`map_mut`](crate::Bpf::map_mut)
/// task. For example, when using an [`AsyncPerfEventArray`]. For map interactions /// is not possible (eg when using the map from an async task). The returned
/// without taking ownership, see `map` or `map_mut`. An owned map will be /// map will be closed on `Drop`, therefore the caller is responsible for
/// closed on `Drop`, therefore the the caller is now responsible for managing /// managing its lifetime.
/// its lifetime.
/// ///
/// The returned type is mostly opaque. In order to do anything useful with it you need to /// The returned type is mostly opaque. In order to do anything useful with it you need to
/// convert it to a [typed map](crate::maps). /// convert it to a [typed map](crate::maps).

@ -5,16 +5,16 @@
//! [`Bpf::load_file`](crate::Bpf::load_file) or //! [`Bpf::load_file`](crate::Bpf::load_file) or
//! [`Bpf::load`](crate::Bpf::load), all the maps defined in the eBPF code get //! [`Bpf::load`](crate::Bpf::load), all the maps defined in the eBPF code get
//! initialized and can then be accessed using [`Bpf::map`](crate::Bpf::map), //! initialized and can then be accessed using [`Bpf::map`](crate::Bpf::map),
//! [`Bpf::map_mut`](crate::Bpf::map_mut), [`Bpf::take_map`](crate::Bpf::map) //! [`Bpf::map_mut`](crate::Bpf::map_mut), or [`Bpf::take_map`](crate::Bpf::take_map).
//! or [`Bpf::map_mut`](crate::Bpf::take_map).
//! //!
//! # Typed maps //! # Typed maps
//! //!
//! The eBPF API includes many map types each supporting different operations. //! The eBPF API includes many map types each supporting different operations.
//! [`Bpf::map`](crate::Bpf::map), [`Bpf::map_mut`](crate::Bpf::map_mut), and //! [`Bpf::map`](crate::Bpf::map), [`Bpf::map_mut`](crate::Bpf::map_mut), and
//! [`Bpf::map_mut`](crate::Bpf::take_map) always return the //! [`Bpf::take_map`](crate::Bpf::take_map) always return the
//! opaque [`&Map`], [`&mut Map`], and [`Map`] types respectively. Those three types can be converted to //! opaque [`&Map`](crate::maps::Map), [`&mut Map`](crate::maps::Map), and [`Map`](crate::maps::Map)
//! *typed maps* using the [`TryFrom`](std::convert::TryFrom) or [`TryInto`](std::convert::TryInto) //! types respectively. Those three types can be converted to *typed maps* using
//! the [`TryFrom`](std::convert::TryFrom) or [`TryInto`](std::convert::TryInto)
//! trait. For example: //! trait. For example:
//! //!
//! ```no_run //! ```no_run
@ -233,7 +233,7 @@ fn maybe_warn_rlimit() {
/// eBPF map types. /// eBPF map types.
#[derive(Debug)] #[derive(Debug)]
pub enum Map { pub enum Map {
/// A ['Array`] map /// A [`Array`] map
Array(MapData), Array(MapData),
/// A [`PerCpuArray`] map /// A [`PerCpuArray`] map
PerCpuArray(MapData), PerCpuArray(MapData),
@ -241,7 +241,7 @@ pub enum Map {
ProgramArray(MapData), ProgramArray(MapData),
/// A [`HashMap`] map /// A [`HashMap`] map
HashMap(MapData), HashMap(MapData),
/// A ['PerCpuHashMap'] map /// A [`PerCpuHashMap`] map
PerCpuHashMap(MapData), PerCpuHashMap(MapData),
/// A [`PerfEventArray`] map /// A [`PerfEventArray`] map
PerfEventArray(MapData), PerfEventArray(MapData),
@ -255,7 +255,7 @@ pub enum Map {
LpmTrie(MapData), LpmTrie(MapData),
/// A [`Stack`] map /// A [`Stack`] map
Stack(MapData), Stack(MapData),
/// A [`StackTrace`] map /// A [`StackTraceMap`] map
StackTraceMap(MapData), StackTraceMap(MapData),
/// A [`Queue`] map /// A [`Queue`] map
Queue(MapData), Queue(MapData),
@ -556,7 +556,7 @@ impl MapData {
/// Loads a map from a [`RawFd`]. /// Loads a map from a [`RawFd`].
/// ///
/// If loading from a BPF Filesystem (bpffs) you should use [`Map::from_pin`]. /// If loading from a BPF Filesystem (bpffs) you should use [`Map::from_pin`](crate::maps::MapData::from_pin).
/// This API is intended for cases where you have received a valid BPF FD from some other means. /// This API is intended for cases where you have received a valid BPF FD from some other means.
/// For example, you received an FD over Unix Domain Socket. /// For example, you received an FD over Unix Domain Socket.
pub fn from_fd(fd: RawFd) -> Result<MapData, MapError> { pub fn from_fd(fd: RawFd) -> Result<MapData, MapError> {

@ -1,6 +1,6 @@
//! Ring buffer types used to receive events from eBPF programs using the linux `perf` API. //! Ring buffer types used to receive events from eBPF programs using the linux `perf` API.
//! //!
//! See the [`PerfEventArray`] and [`AsyncPerfEventArray`]. //! See the [`PerfEventArray`](crate::maps::PerfEventArray) and [`AsyncPerfEventArray`](crate::maps::perf::AsyncPerfEventArray).
#[cfg(any(feature = "async"))] #[cfg(any(feature = "async"))]
#[cfg_attr(docsrs, doc(cfg(feature = "async")))] #[cfg_attr(docsrs, doc(cfg(feature = "async")))]
mod async_perf_event_array; mod async_perf_event_array;

@ -7,7 +7,7 @@ pub use sock_map::SockMap;
use std::os::unix::io::{AsRawFd, RawFd}; use std::os::unix::io::{AsRawFd, RawFd};
/// A [`SocketMap`] file descriptor. /// A socket map file descriptor.
#[derive(Copy, Clone)] #[derive(Copy, Clone)]
pub struct SockMapFd(RawFd); pub struct SockMapFd(RawFd);

@ -107,7 +107,7 @@ impl<T: AsRef<MapData>, K: Pod> SockHash<T, K> {
/// Returns the map's file descriptor. /// Returns the map's file descriptor.
/// ///
/// The returned file descriptor can be used to attach programs that work with /// The returned file descriptor can be used to attach programs that work with
/// socket maps, like [`SkMsg`] and [`SkSkb`]. /// socket maps, like [`SkMsg`](crate::programs::SkMsg) and [`SkSkb`](crate::programs::SkSkb).
pub fn fd(&self) -> Result<SockMapFd, MapError> { pub fn fd(&self) -> Result<SockMapFd, MapError> {
Ok(SockMapFd(self.inner.as_ref().fd_or_err()?)) Ok(SockMapFd(self.inner.as_ref().fd_or_err()?))
} }

@ -63,7 +63,7 @@ impl<T: AsRef<MapData>> SockMap<T> {
/// Returns the map's file descriptor. /// Returns the map's file descriptor.
/// ///
/// The returned file descriptor can be used to attach programs that work with /// The returned file descriptor can be used to attach programs that work with
/// socket maps, like [`SkMsg`] and [`SkSkb`]. /// socket maps, like [`SkMsg`](crate::programs::SkMsg) and [`SkSkb`](crate::programs::SkSkb).
pub fn fd(&self) -> Result<SockMapFd, MapError> { pub fn fd(&self) -> Result<SockMapFd, MapError> {
Ok(SockMapFd(self.inner.as_ref().fd_or_err()?)) Ok(SockMapFd(self.inner.as_ref().fd_or_err()?))
} }

@ -68,7 +68,7 @@ fn build_docs(working_dir: &PathBuf, abs_header_path: &Path) -> Result<(), anyho
.env( .env(
"RUSTDOCFLAGS", "RUSTDOCFLAGS",
format!( format!(
"--cfg docsrs --html-in-header {}", "--cfg docsrs --html-in-header {} -D warnings",
abs_header_path.to_str().unwrap() abs_header_path.to_str().unwrap()
), ),
) )

Loading…
Cancel
Save