Skip to content

Commit

Permalink
Fix doc links, update rustdoc args
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
astoycos committed Oct 20, 2022
1 parent f3262e8 commit 82edd68
Show file tree
Hide file tree
Showing 8 changed files with 19 additions and 20 deletions.
2 changes: 1 addition & 1 deletion aya/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ async_std = ["async-io", "async"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs","-D", "warnings"]
9 changes: 4 additions & 5 deletions aya/src/bpf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -760,11 +760,10 @@ impl Bpf {

/// Takes ownership of a map with the given name.
///
/// This API is intended for cases where the map must be moved into spawned
/// task. For example, when using an [`AsyncPerfEventArray`]. For map interactions
/// without taking ownership, see `map` or `map_mut`. An owned map will be
/// closed on `Drop`, therefore the the caller is now responsible for managing
/// its lifetime.
/// Use this when borrowing with [`map`](crate::Bpf::map) or [`map_mut`](crate::Bpf::map_mut)
/// is not possible (eg when using the map from an async task). The returned
/// map will be closed on `Drop`, therefore the caller is responsible for
/// managing its lifetime.
///
/// 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).
Expand Down
18 changes: 9 additions & 9 deletions aya/src/maps/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@
//! [`Bpf::load_file`](crate::Bpf::load_file) or
//! [`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),
//! [`Bpf::map_mut`](crate::Bpf::map_mut), [`Bpf::take_map`](crate::Bpf::map)
//! or [`Bpf::map_mut`](crate::Bpf::take_map).
//! [`Bpf::map_mut`](crate::Bpf::map_mut), or [`Bpf::take_map`](crate::Bpf::take_map).
//!
//! # Typed maps
//!
//! 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_mut`](crate::Bpf::take_map) always return the
//! opaque [`&Map`], [`&mut Map`], and [`Map`] types respectively. Those three types can be converted to
//! *typed maps* using the [`TryFrom`](std::convert::TryFrom) or [`TryInto`](std::convert::TryInto)
//! [`Bpf::take_map`](crate::Bpf::take_map) always return the
//! opaque [`&Map`](crate::maps::Map), [`&mut Map`](crate::maps::Map), and [`Map`](crate::maps::Map)
//! 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:
//!
//! ```no_run
Expand Down Expand Up @@ -233,15 +233,15 @@ fn maybe_warn_rlimit() {
/// eBPF map types.
#[derive(Debug)]
pub enum Map {
/// A ['Array`] map
/// A [`Array`] map
Array(MapData),
/// A [`PerCpuArray`] map
PerCpuArray(MapData),
/// A [`ProgramArray`] map
ProgramArray(MapData),
/// A [`HashMap`] map
HashMap(MapData),
/// A ['PerCpuHashMap'] map
/// A [`PerCpuHashMap`] map
PerCpuHashMap(MapData),
/// A [`PerfEventArray`] map
PerfEventArray(MapData),
Expand All @@ -255,7 +255,7 @@ pub enum Map {
LpmTrie(MapData),
/// A [`Stack`] map
Stack(MapData),
/// A [`StackTrace`] map
/// A [`StackTraceMap`] map
StackTraceMap(MapData),
/// A [`Queue`] map
Queue(MapData),
Expand Down Expand Up @@ -556,7 +556,7 @@ impl MapData {

/// 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.
/// For example, you received an FD over Unix Domain Socket.
pub fn from_fd(fd: RawFd) -> Result<MapData, MapError> {
Expand Down
2 changes: 1 addition & 1 deletion aya/src/maps/perf/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! 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_attr(docsrs, doc(cfg(feature = "async")))]
mod async_perf_event_array;
Expand Down
2 changes: 1 addition & 1 deletion aya/src/maps/sock/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ pub use sock_map::SockMap;

use std::os::unix::io::{AsRawFd, RawFd};

/// A [`SocketMap`] file descriptor.
/// A socket map file descriptor.
#[derive(Copy, Clone)]
pub struct SockMapFd(RawFd);

Expand Down
2 changes: 1 addition & 1 deletion aya/src/maps/sock/sock_hash.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ impl<T: AsRef<MapData>, K: Pod> SockHash<T, K> {
/// Returns the map's file descriptor.
///
/// 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> {
Ok(SockMapFd(self.inner.as_ref().fd_or_err()?))
}
Expand Down
2 changes: 1 addition & 1 deletion aya/src/maps/sock/sock_map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ impl<T: AsRef<MapData>> SockMap<T> {
/// Returns the map's file descriptor.
///
/// 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> {
Ok(SockMapFd(self.inner.as_ref().fd_or_err()?))
}
Expand Down
2 changes: 1 addition & 1 deletion xtask/src/docs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ fn build_docs(working_dir: &PathBuf, abs_header_path: &Path) -> Result<(), anyho
.env(
"RUSTDOCFLAGS",
format!(
"--cfg docsrs --html-in-header {}",
"--cfg docsrs --html-in-header {} -D warnings",
abs_header_path.to_str().unwrap()
),
)
Expand Down

0 comments on commit 82edd68

Please sign in to comment.