diff --git a/aya/src/maps/mod.rs b/aya/src/maps/mod.rs index c81e7bb0..ea79d60c 100644 --- a/aya/src/maps/mod.rs +++ b/aya/src/maps/mod.rs @@ -48,7 +48,7 @@ //! versa. Because of that, all map values must be plain old data and therefore //! implement the [Pod] trait. use std::{ - borrow::BorrowMut, + borrow::Borrow, ffi::{c_long, CString}, fmt, io, marker::PhantomData, @@ -332,7 +332,7 @@ impl Map { /// /// When a map is pinned it will remain loaded until the corresponding file /// is deleted. All parent directories in the given `path` must already exist. - pub fn pin>(&mut self, path: P) -> Result<(), PinError> { + pub fn pin>(&self, path: P) -> Result<(), PinError> { match self { Self::Array(map) => map.pin(path), Self::BloomFilter(map) => map.pin(path), @@ -360,7 +360,6 @@ impl Map { } // Implements map pinning for different map implementations -// TODO add support for PerfEventArrays and AsyncPerfEventArrays macro_rules! impl_map_pin { ($ty_param:tt { $($ty:ident),+ $(,)? @@ -371,14 +370,14 @@ macro_rules! impl_map_pin { <($($ty_param:ident),*)> $ty:ident ) => { - impl, $($ty_param: Pod),*> $ty + impl, $($ty_param: Pod),*> $ty { /// Pins the map to a BPF filesystem. /// /// When a map is pinned it will remain loaded until the corresponding file /// is deleted. All parent directories in the given `path` must already exist. - pub fn pin>(&mut self, path: P) -> Result<(), PinError> { - let data = self.inner.borrow_mut(); + pub fn pin>(self, path: P) -> Result<(), PinError> { + let data = self.inner.borrow(); data.pin(path) } } @@ -591,7 +590,7 @@ impl MapData { Ok(Self { obj, fd }) } Err(_) => { - let mut map = Self::create(obj, name, btf_fd)?; + let map = Self::create(obj, name, btf_fd)?; map.pin(&path).map_err(|error| MapError::PinError { name: Some(name.into()), error, @@ -687,7 +686,7 @@ impl MapData { /// /// # Ok::<(), Box>(()) /// ``` - pub fn pin>(&mut self, path: P) -> Result<(), PinError> { + pub fn pin>(&self, path: P) -> Result<(), PinError> { use std::os::unix::ffi::OsStrExt as _; let Self { fd, obj: _ } = self; diff --git a/aya/src/maps/perf/async_perf_event_array.rs b/aya/src/maps/perf/async_perf_event_array.rs index 7828759a..a7444245 100644 --- a/aya/src/maps/perf/async_perf_event_array.rs +++ b/aya/src/maps/perf/async_perf_event_array.rs @@ -1,4 +1,7 @@ -use std::borrow::{Borrow, BorrowMut}; +use std::{ + borrow::{Borrow, BorrowMut}, + path::Path, +}; // See https://doc.rust-lang.org/cargo/reference/features.html#mutually-exclusive-features. // @@ -12,7 +15,7 @@ use tokio::io::unix::AsyncFd; use crate::maps::{ perf::{Events, PerfBufferError, PerfEventArray, PerfEventArrayBuffer}, - MapData, MapError, + MapData, MapError, PinError, }; /// A `Future` based map that can be used to receive events from eBPF programs using the linux @@ -105,6 +108,14 @@ impl> AsyncPerfEventArray { let buf = Async::new(buf)?; Ok(AsyncPerfEventArrayBuffer { buf }) } + + /// Pins the map to a BPF filesystem. + /// + /// When a map is pinned it will remain loaded until the corresponding file + /// is deleted. All parent directories in the given `path` must already exist. + pub fn pin>(&self, path: P) -> Result<(), PinError> { + self.perf_map.pin(path) + } } impl> AsyncPerfEventArray { diff --git a/aya/src/maps/perf/perf_event_array.rs b/aya/src/maps/perf/perf_event_array.rs index c1df535a..0a6fdfc8 100644 --- a/aya/src/maps/perf/perf_event_array.rs +++ b/aya/src/maps/perf/perf_event_array.rs @@ -5,6 +5,7 @@ use std::{ borrow::{Borrow, BorrowMut}, ops::Deref, os::fd::{AsFd, AsRawFd, BorrowedFd, RawFd}, + path::Path, sync::Arc, }; @@ -13,7 +14,7 @@ use bytes::BytesMut; use crate::{ maps::{ perf::{Events, PerfBuffer, PerfBufferError}, - MapData, MapError, + MapData, MapError, PinError, }, sys::bpf_map_update_elem, util::page_size, @@ -173,6 +174,15 @@ impl> PerfEventArray { page_size: page_size(), }) } + + /// Pins the map to a BPF filesystem. + /// + /// When a map is pinned it will remain loaded until the corresponding file + /// is deleted. All parent directories in the given `path` must already exist. + pub fn pin>(&self, path: P) -> Result<(), PinError> { + let data: &MapData = self.map.deref().borrow(); + data.pin(path) + } } impl> PerfEventArray { diff --git a/test/integration-test/src/tests/load.rs b/test/integration-test/src/tests/load.rs index 6707a99e..ee5ba713 100644 --- a/test/integration-test/src/tests/load.rs +++ b/test/integration-test/src/tests/load.rs @@ -91,9 +91,9 @@ fn pin_lifecycle_multiple_btf_maps() { remove_file(map_pin_path).unwrap(); } - let mut map_1: Array<_, u64> = bpf.take_map("map_1").unwrap().try_into().unwrap(); - let mut map_2: Array<_, u64> = bpf.take_map("map_2").unwrap().try_into().unwrap(); - let mut map_pin_by_name: Array<_, u64> = + let map_1: Array<_, u64> = bpf.take_map("map_1").unwrap().try_into().unwrap(); + let map_2: Array<_, u64> = bpf.take_map("map_2").unwrap().try_into().unwrap(); + let map_pin_by_name: Array<_, u64> = bpf.take_map("map_pin_by_name").unwrap().try_into().unwrap(); let prog: &mut UProbe = bpf.program_mut("bpf_prog").unwrap().try_into().unwrap(); diff --git a/xtask/public-api/aya.txt b/xtask/public-api/aya.txt index ee691361..0adbf0c2 100644 --- a/xtask/public-api/aya.txt +++ b/xtask/public-api/aya.txt @@ -11,8 +11,8 @@ impl, V: aya::Pod> aya::maps::array: pub fn aya::maps::array::Array::get(&self, index: &u32, flags: u64) -> core::result::Result pub fn aya::maps::array::Array::iter(&self) -> impl core::iter::traits::iterator::Iterator> + '_ pub fn aya::maps::array::Array::len(&self) -> u32 -impl, V: aya::Pod> aya::maps::array::Array -pub fn aya::maps::array::Array::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::array::Array +pub fn aya::maps::array::Array::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::array::Array pub fn aya::maps::array::Array::set(&mut self, index: u32, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::array::Array<&'a aya::maps::MapData, V> @@ -53,8 +53,8 @@ impl, V: aya::Pod> aya::maps::PerCpu pub fn aya::maps::PerCpuArray::get(&self, index: &u32, flags: u64) -> core::result::Result, aya::maps::MapError> pub fn aya::maps::PerCpuArray::iter(&self) -> impl core::iter::traits::iterator::Iterator, aya::maps::MapError>> + '_ pub fn aya::maps::PerCpuArray::len(&self) -> u32 -impl, V: aya::Pod> aya::maps::PerCpuArray -pub fn aya::maps::PerCpuArray::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::PerCpuArray +pub fn aya::maps::PerCpuArray::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::PerCpuArray pub fn aya::maps::PerCpuArray::set(&mut self, index: u32, values: aya::maps::PerCpuValues, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::PerCpuArray<&'a aya::maps::MapData, V> @@ -93,11 +93,11 @@ pub fn aya::maps::PerCpuArray::from(t: T) -> T pub struct aya::maps::array::ProgramArray impl> aya::maps::ProgramArray pub fn aya::maps::ProgramArray::indices(&self) -> aya::maps::MapKeys<'_, u32> +impl> aya::maps::ProgramArray +pub fn aya::maps::ProgramArray::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::ProgramArray pub fn aya::maps::ProgramArray::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::ProgramArray::set(&mut self, index: u32, program: &aya::programs::ProgramFd, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl> aya::maps::ProgramArray -pub fn aya::maps::ProgramArray::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::ProgramArray pub type aya::maps::ProgramArray::Error = aya::maps::MapError pub fn aya::maps::ProgramArray::try_from(map: aya::maps::Map) -> core::result::Result @@ -132,10 +132,10 @@ pub mod aya::maps::bloom_filter pub struct aya::maps::bloom_filter::BloomFilter impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter pub fn aya::maps::bloom_filter::BloomFilter::contains(&self, value: &V, flags: u64) -> core::result::Result<(), aya::maps::MapError> +impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter +pub fn aya::maps::bloom_filter::BloomFilter::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter pub fn aya::maps::bloom_filter::BloomFilter::insert(&mut self, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter -pub fn aya::maps::bloom_filter::BloomFilter::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V> pub type aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>::Error = aya::maps::MapError pub fn aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -174,11 +174,11 @@ impl, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::HashMap::get(&self, key: &K, flags: u64) -> core::result::Result pub fn aya::maps::hash_map::HashMap::iter(&self) -> aya::maps::MapIter<'_, K, V, Self> pub fn aya::maps::hash_map::HashMap::keys(&self) -> aya::maps::MapKeys<'_, K> +impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap +pub fn aya::maps::hash_map::HashMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap pub fn aya::maps::hash_map::HashMap::insert(&mut self, key: impl core::borrow::Borrow, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::HashMap::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> -impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap -pub fn aya::maps::hash_map::HashMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, K: aya::Pod, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::HashMap<&'a aya::maps::MapData, K, V> pub type aya::maps::hash_map::HashMap<&'a aya::maps::MapData, K, V>::Error = aya::maps::MapError pub fn aya::maps::hash_map::HashMap<&'a aya::maps::MapData, K, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -219,11 +219,11 @@ impl, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::PerCpuHashMap::get(&self, key: &K, flags: u64) -> core::result::Result, aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap::iter(&self) -> aya::maps::MapIter<'_, K, aya::maps::PerCpuValues, Self> pub fn aya::maps::hash_map::PerCpuHashMap::keys(&self) -> aya::maps::MapKeys<'_, K> +impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap +pub fn aya::maps::hash_map::PerCpuHashMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap pub fn aya::maps::hash_map::PerCpuHashMap::insert(&mut self, key: impl core::borrow::Borrow, values: aya::maps::PerCpuValues, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> -impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap -pub fn aya::maps::hash_map::PerCpuHashMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, K: aya::Pod, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, K, V> pub type aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, K, V>::Error = aya::maps::MapError pub fn aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, K, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -300,11 +300,11 @@ impl, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::lpm_trie::LpmTrie::get(&self, key: &aya::maps::lpm_trie::Key, flags: u64) -> core::result::Result pub fn aya::maps::lpm_trie::LpmTrie::iter(&self) -> aya::maps::MapIter<'_, aya::maps::lpm_trie::Key, V, Self> pub fn aya::maps::lpm_trie::LpmTrie::keys(&self) -> aya::maps::MapKeys<'_, aya::maps::lpm_trie::Key> +impl, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie +pub fn aya::maps::lpm_trie::LpmTrie::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie pub fn aya::maps::lpm_trie::LpmTrie::insert(&mut self, key: &aya::maps::lpm_trie::Key, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::lpm_trie::LpmTrie::remove(&mut self, key: &aya::maps::lpm_trie::Key) -> core::result::Result<(), aya::maps::MapError> -impl, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie -pub fn aya::maps::lpm_trie::LpmTrie::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, K: aya::Pod, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, K, V> pub type aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, K, V>::Error = aya::maps::MapError pub fn aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, K, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -388,6 +388,7 @@ pub fn aya::maps::perf::PerfBufferError::from(t: T) -> T pub struct aya::maps::perf::AsyncPerfEventArray impl> aya::maps::perf::AsyncPerfEventArray pub fn aya::maps::perf::AsyncPerfEventArray::open(&mut self, index: u32, page_count: core::option::Option) -> core::result::Result, aya::maps::perf::PerfBufferError> +pub fn aya::maps::perf::AsyncPerfEventArray::pin>(&self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::perf::AsyncPerfEventArray pub type aya::maps::perf::AsyncPerfEventArray::Error = aya::maps::MapError pub fn aya::maps::perf::AsyncPerfEventArray::try_from(map: aya::maps::Map) -> core::result::Result @@ -474,6 +475,8 @@ pub fn aya::maps::perf::Events::borrow_mut(&mut self) -> &mut T impl core::convert::From for aya::maps::perf::Events pub fn aya::maps::perf::Events::from(t: T) -> T pub struct aya::maps::perf::PerfEventArray +impl> aya::maps::perf::PerfEventArray +pub fn aya::maps::perf::PerfEventArray::pin>(&self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::perf::PerfEventArray pub fn aya::maps::perf::PerfEventArray::open(&mut self, index: u32, page_count: core::option::Option) -> core::result::Result, aya::maps::perf::PerfBufferError> impl core::convert::TryFrom for aya::maps::perf::PerfEventArray @@ -539,8 +542,8 @@ pub mod aya::maps::queue pub struct aya::maps::queue::Queue impl, V: aya::Pod> aya::maps::queue::Queue pub fn aya::maps::queue::Queue::capacity(&self) -> u32 -impl, V: aya::Pod> aya::maps::queue::Queue -pub fn aya::maps::queue::Queue::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::queue::Queue +pub fn aya::maps::queue::Queue::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::queue::Queue pub fn aya::maps::queue::Queue::pop(&mut self, flags: u64) -> core::result::Result pub fn aya::maps::queue::Queue::push(&mut self, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> @@ -646,11 +649,11 @@ pub fn aya::maps::SockHash::fd(&self) -> &aya::maps::sock::SockMapFd pub fn aya::maps::SockHash::get(&self, key: &K, flags: u64) -> core::result::Result pub fn aya::maps::SockHash::iter(&self) -> aya::maps::MapIter<'_, K, std::os::fd::raw::RawFd, Self> pub fn aya::maps::SockHash::keys(&self) -> aya::maps::MapKeys<'_, K> +impl, V: aya::Pod> aya::maps::SockHash +pub fn aya::maps::SockHash::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod> aya::maps::SockHash pub fn aya::maps::SockHash::insert(&mut self, key: impl core::borrow::Borrow, value: I, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockHash::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> -impl, V: aya::Pod> aya::maps::SockHash -pub fn aya::maps::SockHash::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::SockHash<&'a aya::maps::MapData, V> pub type aya::maps::SockHash<&'a aya::maps::MapData, V>::Error = aya::maps::MapError pub fn aya::maps::SockHash<&'a aya::maps::MapData, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -688,11 +691,11 @@ pub struct aya::maps::sock::SockMap impl> aya::maps::SockMap pub fn aya::maps::SockMap::fd(&self) -> &aya::maps::sock::SockMapFd pub fn aya::maps::SockMap::indices(&self) -> aya::maps::MapKeys<'_, u32> +impl> aya::maps::SockMap +pub fn aya::maps::SockMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::SockMap pub fn aya::maps::SockMap::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockMap::set(&mut self, index: u32, socket: &I, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl> aya::maps::SockMap -pub fn aya::maps::SockMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::SockMap pub type aya::maps::SockMap::Error = aya::maps::MapError pub fn aya::maps::SockMap::try_from(map: aya::maps::Map) -> core::result::Result @@ -753,8 +756,8 @@ pub mod aya::maps::stack pub struct aya::maps::stack::Stack impl, V: aya::Pod> aya::maps::stack::Stack pub fn aya::maps::stack::Stack::capacity(&self) -> u32 -impl, V: aya::Pod> aya::maps::stack::Stack -pub fn aya::maps::stack::Stack::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::stack::Stack +pub fn aya::maps::stack::Stack::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::stack::Stack pub fn aya::maps::stack::Stack::pop(&mut self, flags: u64) -> core::result::Result pub fn aya::maps::stack::Stack::push(&mut self, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> @@ -845,8 +848,8 @@ impl> aya::maps::stack_trace::StackT pub fn aya::maps::stack_trace::StackTraceMap::get(&self, stack_id: &u32, flags: u64) -> core::result::Result pub fn aya::maps::stack_trace::StackTraceMap::iter(&self) -> aya::maps::MapIter<'_, u32, aya::maps::stack_trace::StackTrace, Self> pub fn aya::maps::stack_trace::StackTraceMap::stack_ids(&self) -> aya::maps::MapKeys<'_, u32> -impl> aya::maps::stack_trace::StackTraceMap -pub fn aya::maps::stack_trace::StackTraceMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::stack_trace::StackTraceMap +pub fn aya::maps::stack_trace::StackTraceMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::stack_trace::StackTraceMap pub type aya::maps::stack_trace::StackTraceMap::Error = aya::maps::MapError pub fn aya::maps::stack_trace::StackTraceMap::try_from(map: aya::maps::Map) -> core::result::Result @@ -926,8 +929,8 @@ impl> aya::maps::CpuMap pub fn aya::maps::CpuMap::get(&self, cpu_index: u32, flags: u64) -> core::result::Result pub fn aya::maps::CpuMap::iter(&self) -> impl core::iter::traits::iterator::Iterator> + '_ pub fn aya::maps::CpuMap::len(&self) -> u32 -impl> aya::maps::CpuMap -pub fn aya::maps::CpuMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::CpuMap +pub fn aya::maps::CpuMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::CpuMap pub fn aya::maps::CpuMap::set(&mut self, cpu_index: u32, queue_size: u32, program: core::option::Option<&aya::programs::ProgramFd>, flags: u64) -> core::result::Result<(), aya::maps::xdp::XdpMapError> impl core::convert::TryFrom for aya::maps::CpuMap @@ -965,8 +968,8 @@ impl> aya::maps::DevMap pub fn aya::maps::DevMap::get(&self, index: u32, flags: u64) -> core::result::Result pub fn aya::maps::DevMap::iter(&self) -> impl core::iter::traits::iterator::Iterator> + '_ pub fn aya::maps::DevMap::len(&self) -> u32 -impl> aya::maps::DevMap -pub fn aya::maps::DevMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::DevMap +pub fn aya::maps::DevMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::DevMap pub fn aya::maps::DevMap::set(&mut self, index: u32, target_if_index: u32, program: core::option::Option<&aya::programs::ProgramFd>, flags: u64) -> core::result::Result<(), aya::maps::xdp::XdpMapError> impl core::convert::TryFrom for aya::maps::DevMap @@ -1004,11 +1007,11 @@ impl> aya::maps::DevMapHash pub fn aya::maps::DevMapHash::get(&self, key: u32, flags: u64) -> core::result::Result pub fn aya::maps::DevMapHash::iter(&self) -> aya::maps::MapIter<'_, u32, DevMapValue, Self> pub fn aya::maps::DevMapHash::keys(&self) -> aya::maps::MapKeys<'_, u32> +impl> aya::maps::DevMapHash +pub fn aya::maps::DevMapHash::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::DevMapHash pub fn aya::maps::DevMapHash::insert(&mut self, key: u32, target_if_index: u32, program: core::option::Option<&aya::programs::ProgramFd>, flags: u64) -> core::result::Result<(), aya::maps::xdp::XdpMapError> pub fn aya::maps::DevMapHash::remove(&mut self, key: u32) -> core::result::Result<(), aya::maps::MapError> -impl> aya::maps::DevMapHash -pub fn aya::maps::DevMapHash::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::DevMapHash pub type aya::maps::DevMapHash::Error = aya::maps::MapError pub fn aya::maps::DevMapHash::try_from(map: aya::maps::Map) -> core::result::Result @@ -1042,8 +1045,8 @@ pub fn aya::maps::DevMapHash::from(t: T) -> T pub struct aya::maps::xdp::XskMap impl> aya::maps::XskMap pub fn aya::maps::XskMap::len(&self) -> u32 -impl> aya::maps::XskMap -pub fn aya::maps::XskMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::XskMap +pub fn aya::maps::XskMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::XskMap pub fn aya::maps::XskMap::set(&mut self, index: u32, socket_fd: impl std::os::fd::raw::AsRawFd, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl core::convert::TryFrom for aya::maps::XskMap @@ -1099,7 +1102,7 @@ pub aya::maps::Map::StackTraceMap(aya::maps::MapData) pub aya::maps::Map::Unsupported(aya::maps::MapData) pub aya::maps::Map::XskMap(aya::maps::MapData) impl aya::maps::Map -pub fn aya::maps::Map::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +pub fn aya::maps::Map::pin>(&self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::CpuMap pub type aya::maps::CpuMap::Error = aya::maps::MapError pub fn aya::maps::CpuMap::try_from(map: aya::maps::Map) -> core::result::Result @@ -1364,8 +1367,8 @@ impl, V: aya::Pod> aya::maps::array: pub fn aya::maps::array::Array::get(&self, index: &u32, flags: u64) -> core::result::Result pub fn aya::maps::array::Array::iter(&self) -> impl core::iter::traits::iterator::Iterator> + '_ pub fn aya::maps::array::Array::len(&self) -> u32 -impl, V: aya::Pod> aya::maps::array::Array -pub fn aya::maps::array::Array::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::array::Array +pub fn aya::maps::array::Array::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::array::Array pub fn aya::maps::array::Array::set(&mut self, index: u32, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::array::Array<&'a aya::maps::MapData, V> @@ -1404,6 +1407,7 @@ pub fn aya::maps::array::Array::from(t: T) -> T pub struct aya::maps::AsyncPerfEventArray impl> aya::maps::perf::AsyncPerfEventArray pub fn aya::maps::perf::AsyncPerfEventArray::open(&mut self, index: u32, page_count: core::option::Option) -> core::result::Result, aya::maps::perf::PerfBufferError> +pub fn aya::maps::perf::AsyncPerfEventArray::pin>(&self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::perf::AsyncPerfEventArray pub type aya::maps::perf::AsyncPerfEventArray::Error = aya::maps::MapError pub fn aya::maps::perf::AsyncPerfEventArray::try_from(map: aya::maps::Map) -> core::result::Result @@ -1437,10 +1441,10 @@ pub fn aya::maps::perf::AsyncPerfEventArray::from(t: T) -> T pub struct aya::maps::BloomFilter impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter pub fn aya::maps::bloom_filter::BloomFilter::contains(&self, value: &V, flags: u64) -> core::result::Result<(), aya::maps::MapError> +impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter +pub fn aya::maps::bloom_filter::BloomFilter::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter pub fn aya::maps::bloom_filter::BloomFilter::insert(&mut self, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl, V: aya::Pod> aya::maps::bloom_filter::BloomFilter -pub fn aya::maps::bloom_filter::BloomFilter::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V> pub type aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>::Error = aya::maps::MapError pub fn aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -1478,8 +1482,8 @@ impl> aya::maps::CpuMap pub fn aya::maps::CpuMap::get(&self, cpu_index: u32, flags: u64) -> core::result::Result pub fn aya::maps::CpuMap::iter(&self) -> impl core::iter::traits::iterator::Iterator> + '_ pub fn aya::maps::CpuMap::len(&self) -> u32 -impl> aya::maps::CpuMap -pub fn aya::maps::CpuMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::CpuMap +pub fn aya::maps::CpuMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::CpuMap pub fn aya::maps::CpuMap::set(&mut self, cpu_index: u32, queue_size: u32, program: core::option::Option<&aya::programs::ProgramFd>, flags: u64) -> core::result::Result<(), aya::maps::xdp::XdpMapError> impl core::convert::TryFrom for aya::maps::CpuMap @@ -1517,8 +1521,8 @@ impl> aya::maps::DevMap pub fn aya::maps::DevMap::get(&self, index: u32, flags: u64) -> core::result::Result pub fn aya::maps::DevMap::iter(&self) -> impl core::iter::traits::iterator::Iterator> + '_ pub fn aya::maps::DevMap::len(&self) -> u32 -impl> aya::maps::DevMap -pub fn aya::maps::DevMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::DevMap +pub fn aya::maps::DevMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::DevMap pub fn aya::maps::DevMap::set(&mut self, index: u32, target_if_index: u32, program: core::option::Option<&aya::programs::ProgramFd>, flags: u64) -> core::result::Result<(), aya::maps::xdp::XdpMapError> impl core::convert::TryFrom for aya::maps::DevMap @@ -1556,11 +1560,11 @@ impl> aya::maps::DevMapHash pub fn aya::maps::DevMapHash::get(&self, key: u32, flags: u64) -> core::result::Result pub fn aya::maps::DevMapHash::iter(&self) -> aya::maps::MapIter<'_, u32, DevMapValue, Self> pub fn aya::maps::DevMapHash::keys(&self) -> aya::maps::MapKeys<'_, u32> +impl> aya::maps::DevMapHash +pub fn aya::maps::DevMapHash::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::DevMapHash pub fn aya::maps::DevMapHash::insert(&mut self, key: u32, target_if_index: u32, program: core::option::Option<&aya::programs::ProgramFd>, flags: u64) -> core::result::Result<(), aya::maps::xdp::XdpMapError> pub fn aya::maps::DevMapHash::remove(&mut self, key: u32) -> core::result::Result<(), aya::maps::MapError> -impl> aya::maps::DevMapHash -pub fn aya::maps::DevMapHash::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::DevMapHash pub type aya::maps::DevMapHash::Error = aya::maps::MapError pub fn aya::maps::DevMapHash::try_from(map: aya::maps::Map) -> core::result::Result @@ -1596,11 +1600,11 @@ impl, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::HashMap::get(&self, key: &K, flags: u64) -> core::result::Result pub fn aya::maps::hash_map::HashMap::iter(&self) -> aya::maps::MapIter<'_, K, V, Self> pub fn aya::maps::hash_map::HashMap::keys(&self) -> aya::maps::MapKeys<'_, K> +impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap +pub fn aya::maps::hash_map::HashMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap pub fn aya::maps::hash_map::HashMap::insert(&mut self, key: impl core::borrow::Borrow, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::HashMap::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> -impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap -pub fn aya::maps::hash_map::HashMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, K: aya::Pod, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::HashMap<&'a aya::maps::MapData, K, V> pub type aya::maps::hash_map::HashMap<&'a aya::maps::MapData, K, V>::Error = aya::maps::MapError pub fn aya::maps::hash_map::HashMap<&'a aya::maps::MapData, K, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -1641,11 +1645,11 @@ impl, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::lpm_trie::LpmTrie::get(&self, key: &aya::maps::lpm_trie::Key, flags: u64) -> core::result::Result pub fn aya::maps::lpm_trie::LpmTrie::iter(&self) -> aya::maps::MapIter<'_, aya::maps::lpm_trie::Key, V, Self> pub fn aya::maps::lpm_trie::LpmTrie::keys(&self) -> aya::maps::MapKeys<'_, aya::maps::lpm_trie::Key> +impl, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie +pub fn aya::maps::lpm_trie::LpmTrie::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie pub fn aya::maps::lpm_trie::LpmTrie::insert(&mut self, key: &aya::maps::lpm_trie::Key, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::lpm_trie::LpmTrie::remove(&mut self, key: &aya::maps::lpm_trie::Key) -> core::result::Result<(), aya::maps::MapError> -impl, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie -pub fn aya::maps::lpm_trie::LpmTrie::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, K: aya::Pod, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, K, V> pub type aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, K, V>::Error = aya::maps::MapError pub fn aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, K, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -1689,7 +1693,7 @@ pub fn aya::maps::MapData::from_fd(fd: std::os::fd::owned::OwnedFd) -> core::res pub fn aya::maps::MapData::from_id(id: u32) -> core::result::Result pub fn aya::maps::MapData::from_pin>(path: P) -> core::result::Result pub fn aya::maps::MapData::info(&self) -> core::result::Result -pub fn aya::maps::MapData::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +pub fn aya::maps::MapData::pin>(&self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::fmt::Debug for aya::maps::MapData pub fn aya::maps::MapData::fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result impl core::marker::Send for aya::maps::MapData @@ -1838,8 +1842,8 @@ impl, V: aya::Pod> aya::maps::PerCpu pub fn aya::maps::PerCpuArray::get(&self, index: &u32, flags: u64) -> core::result::Result, aya::maps::MapError> pub fn aya::maps::PerCpuArray::iter(&self) -> impl core::iter::traits::iterator::Iterator, aya::maps::MapError>> + '_ pub fn aya::maps::PerCpuArray::len(&self) -> u32 -impl, V: aya::Pod> aya::maps::PerCpuArray -pub fn aya::maps::PerCpuArray::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::PerCpuArray +pub fn aya::maps::PerCpuArray::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::PerCpuArray pub fn aya::maps::PerCpuArray::set(&mut self, index: u32, values: aya::maps::PerCpuValues, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::PerCpuArray<&'a aya::maps::MapData, V> @@ -1880,11 +1884,11 @@ impl, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::PerCpuHashMap::get(&self, key: &K, flags: u64) -> core::result::Result, aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap::iter(&self) -> aya::maps::MapIter<'_, K, aya::maps::PerCpuValues, Self> pub fn aya::maps::hash_map::PerCpuHashMap::keys(&self) -> aya::maps::MapKeys<'_, K> +impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap +pub fn aya::maps::hash_map::PerCpuHashMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap pub fn aya::maps::hash_map::PerCpuHashMap::insert(&mut self, key: impl core::borrow::Borrow, values: aya::maps::PerCpuValues, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> -impl, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap -pub fn aya::maps::hash_map::PerCpuHashMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, K: aya::Pod, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, K, V> pub type aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, K, V>::Error = aya::maps::MapError pub fn aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, K, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -1955,6 +1959,8 @@ pub fn aya::maps::PerCpuValues::borrow_mut(&mut self) -> &mut T impl core::convert::From for aya::maps::PerCpuValues pub fn aya::maps::PerCpuValues::from(t: T) -> T pub struct aya::maps::PerfEventArray +impl> aya::maps::perf::PerfEventArray +pub fn aya::maps::perf::PerfEventArray::pin>(&self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::perf::PerfEventArray pub fn aya::maps::perf::PerfEventArray::open(&mut self, index: u32, page_count: core::option::Option) -> core::result::Result, aya::maps::perf::PerfBufferError> impl core::convert::TryFrom for aya::maps::perf::PerfEventArray @@ -1990,11 +1996,11 @@ pub fn aya::maps::perf::PerfEventArray::from(t: T) -> T pub struct aya::maps::ProgramArray impl> aya::maps::ProgramArray pub fn aya::maps::ProgramArray::indices(&self) -> aya::maps::MapKeys<'_, u32> +impl> aya::maps::ProgramArray +pub fn aya::maps::ProgramArray::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::ProgramArray pub fn aya::maps::ProgramArray::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::ProgramArray::set(&mut self, index: u32, program: &aya::programs::ProgramFd, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl> aya::maps::ProgramArray -pub fn aya::maps::ProgramArray::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::ProgramArray pub type aya::maps::ProgramArray::Error = aya::maps::MapError pub fn aya::maps::ProgramArray::try_from(map: aya::maps::Map) -> core::result::Result @@ -2028,8 +2034,8 @@ pub fn aya::maps::ProgramArray::from(t: T) -> T pub struct aya::maps::Queue impl, V: aya::Pod> aya::maps::queue::Queue pub fn aya::maps::queue::Queue::capacity(&self) -> u32 -impl, V: aya::Pod> aya::maps::queue::Queue -pub fn aya::maps::queue::Queue::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::queue::Queue +pub fn aya::maps::queue::Queue::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::queue::Queue pub fn aya::maps::queue::Queue::pop(&mut self, flags: u64) -> core::result::Result pub fn aya::maps::queue::Queue::push(&mut self, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> @@ -2104,11 +2110,11 @@ pub fn aya::maps::SockHash::fd(&self) -> &aya::maps::sock::SockMapFd pub fn aya::maps::SockHash::get(&self, key: &K, flags: u64) -> core::result::Result pub fn aya::maps::SockHash::iter(&self) -> aya::maps::MapIter<'_, K, std::os::fd::raw::RawFd, Self> pub fn aya::maps::SockHash::keys(&self) -> aya::maps::MapKeys<'_, K> +impl, V: aya::Pod> aya::maps::SockHash +pub fn aya::maps::SockHash::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, K: aya::Pod> aya::maps::SockHash pub fn aya::maps::SockHash::insert(&mut self, key: impl core::borrow::Borrow, value: I, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockHash::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> -impl, V: aya::Pod> aya::maps::SockHash -pub fn aya::maps::SockHash::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::SockHash<&'a aya::maps::MapData, V> pub type aya::maps::SockHash<&'a aya::maps::MapData, V>::Error = aya::maps::MapError pub fn aya::maps::SockHash<&'a aya::maps::MapData, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result @@ -2146,11 +2152,11 @@ pub struct aya::maps::SockMap impl> aya::maps::SockMap pub fn aya::maps::SockMap::fd(&self) -> &aya::maps::sock::SockMapFd pub fn aya::maps::SockMap::indices(&self) -> aya::maps::MapKeys<'_, u32> +impl> aya::maps::SockMap +pub fn aya::maps::SockMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::SockMap pub fn aya::maps::SockMap::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockMap::set(&mut self, index: u32, socket: &I, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl> aya::maps::SockMap -pub fn aya::maps::SockMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::SockMap pub type aya::maps::SockMap::Error = aya::maps::MapError pub fn aya::maps::SockMap::try_from(map: aya::maps::Map) -> core::result::Result @@ -2184,8 +2190,8 @@ pub fn aya::maps::SockMap::from(t: T) -> T pub struct aya::maps::Stack impl, V: aya::Pod> aya::maps::stack::Stack pub fn aya::maps::stack::Stack::capacity(&self) -> u32 -impl, V: aya::Pod> aya::maps::stack::Stack -pub fn aya::maps::stack::Stack::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl, V: aya::Pod> aya::maps::stack::Stack +pub fn aya::maps::stack::Stack::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl, V: aya::Pod> aya::maps::stack::Stack pub fn aya::maps::stack::Stack::pop(&mut self, flags: u64) -> core::result::Result pub fn aya::maps::stack::Stack::push(&mut self, value: impl core::borrow::Borrow, flags: u64) -> core::result::Result<(), aya::maps::MapError> @@ -2224,8 +2230,8 @@ impl> aya::maps::stack_trace::StackT pub fn aya::maps::stack_trace::StackTraceMap::get(&self, stack_id: &u32, flags: u64) -> core::result::Result pub fn aya::maps::stack_trace::StackTraceMap::iter(&self) -> aya::maps::MapIter<'_, u32, aya::maps::stack_trace::StackTrace, Self> pub fn aya::maps::stack_trace::StackTraceMap::stack_ids(&self) -> aya::maps::MapKeys<'_, u32> -impl> aya::maps::stack_trace::StackTraceMap -pub fn aya::maps::stack_trace::StackTraceMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::stack_trace::StackTraceMap +pub fn aya::maps::stack_trace::StackTraceMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl core::convert::TryFrom for aya::maps::stack_trace::StackTraceMap pub type aya::maps::stack_trace::StackTraceMap::Error = aya::maps::MapError pub fn aya::maps::stack_trace::StackTraceMap::try_from(map: aya::maps::Map) -> core::result::Result @@ -2268,8 +2274,8 @@ pub fn aya::maps::stack_trace::StackTraceMap::from(t: T) -> T pub struct aya::maps::XskMap impl> aya::maps::XskMap pub fn aya::maps::XskMap::len(&self) -> u32 -impl> aya::maps::XskMap -pub fn aya::maps::XskMap::pin>(&mut self, path: P) -> core::result::Result<(), aya::pin::PinError> +impl> aya::maps::XskMap +pub fn aya::maps::XskMap::pin>(self, path: P) -> core::result::Result<(), aya::pin::PinError> impl> aya::maps::XskMap pub fn aya::maps::XskMap::set(&mut self, index: u32, socket_fd: impl std::os::fd::raw::AsRawFd, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl core::convert::TryFrom for aya::maps::XskMap