From b84d1da605e72f2f38286da628e1dfd849f9cfff Mon Sep 17 00:00:00 2001 From: Tamir Duberstein <tamird@gmail.com> Date: Thu, 31 Aug 2023 12:20:34 -0400 Subject: [PATCH] maps: Remove BorrowMut bounds These functions never mutate through the mutable borrow. --- aya/src/maps/array/array.rs | 9 +-- aya/src/maps/array/per_cpu_array.rs | 9 +-- aya/src/maps/array/program_array.rs | 10 +-- aya/src/maps/bloom_filter.rs | 9 +-- aya/src/maps/hash_map/hash_map.rs | 11 ++-- aya/src/maps/hash_map/per_cpu_hash_map.rs | 11 ++-- aya/src/maps/lpm_trie.rs | 7 +-- aya/src/maps/perf/async_perf_event_array.rs | 6 +- aya/src/maps/perf/perf_event_array.rs | 14 ++--- aya/src/maps/queue.rs | 7 +-- aya/src/maps/sock/sock_hash.rs | 13 ++-- aya/src/maps/sock/sock_map.rs | 8 +-- aya/src/maps/stack.rs | 7 +-- xtask/public-api/aya.txt | 70 ++++++++++----------- 14 files changed, 81 insertions(+), 110 deletions(-) diff --git a/aya/src/maps/array/array.rs b/aya/src/maps/array/array.rs index 64454a3c..0304d243 100644 --- a/aya/src/maps/array/array.rs +++ b/aya/src/maps/array/array.rs @@ -1,7 +1,4 @@ -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_bounds, check_kv_size, IterableMap, MapData, MapError}, @@ -78,7 +75,7 @@ impl<T: Borrow<MapData>, V: Pod> Array<T, V> { } } -impl<T: BorrowMut<MapData>, V: Pod> Array<T, V> { +impl<T: Borrow<MapData>, V: Pod> Array<T, V> { /// Sets the value of the element at the given index. /// /// # Errors @@ -86,7 +83,7 @@ impl<T: BorrowMut<MapData>, V: Pod> Array<T, V> { /// Returns [`MapError::OutOfBounds`] if `index` is out of bounds, [`MapError::SyscallError`] /// if `bpf_map_update_elem` fails. pub fn set(&mut self, index: u32, value: impl Borrow<V>, flags: u64) -> Result<(), MapError> { - let data = self.inner.borrow_mut(); + let data = self.inner.borrow(); check_bounds(data, index)?; let fd = data.fd; bpf_map_update_elem(fd, Some(&index), value.borrow(), flags).map_err(|(_, io_error)| { diff --git a/aya/src/maps/array/per_cpu_array.rs b/aya/src/maps/array/per_cpu_array.rs index db6169bd..ebd823c4 100644 --- a/aya/src/maps/array/per_cpu_array.rs +++ b/aya/src/maps/array/per_cpu_array.rs @@ -1,7 +1,4 @@ -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_bounds, check_kv_size, IterableMap, MapData, MapError, PerCpuValues}, @@ -98,7 +95,7 @@ impl<T: Borrow<MapData>, V: Pod> PerCpuArray<T, V> { } } -impl<T: BorrowMut<MapData>, V: Pod> PerCpuArray<T, V> { +impl<T: Borrow<MapData>, V: Pod> PerCpuArray<T, V> { /// Sets the values - one for each CPU - at the given index. /// /// # Errors @@ -106,7 +103,7 @@ impl<T: BorrowMut<MapData>, V: Pod> PerCpuArray<T, V> { /// Returns [`MapError::OutOfBounds`] if `index` is out of bounds, [`MapError::SyscallError`] /// if `bpf_map_update_elem` fails. pub fn set(&mut self, index: u32, values: PerCpuValues<V>, flags: u64) -> Result<(), MapError> { - let data = self.inner.borrow_mut(); + let data = self.inner.borrow(); check_bounds(data, index)?; let fd = data.fd; diff --git a/aya/src/maps/array/program_array.rs b/aya/src/maps/array/program_array.rs index a38ce023..e2b276ad 100644 --- a/aya/src/maps/array/program_array.rs +++ b/aya/src/maps/array/program_array.rs @@ -1,7 +1,7 @@ //! An array of eBPF program file descriptors used as a jump table. use std::{ - borrow::{Borrow, BorrowMut}, + borrow::Borrow, os::fd::{AsFd as _, AsRawFd as _, RawFd}, }; @@ -66,13 +66,13 @@ impl<T: Borrow<MapData>> ProgramArray<T> { } } -impl<T: BorrowMut<MapData>> ProgramArray<T> { +impl<T: Borrow<MapData>> ProgramArray<T> { /// Sets the target program file descriptor for the given index in the jump table. /// /// When an eBPF program calls `bpf_tail_call(ctx, prog_array, index)`, control /// flow will jump to `program`. pub fn set(&mut self, index: u32, program: &ProgramFd, flags: u64) -> Result<(), MapError> { - let data = self.inner.borrow_mut(); + let data = self.inner.borrow(); check_bounds(data, index)?; let fd = data.fd; let prog_fd = program.as_fd(); @@ -92,9 +92,9 @@ impl<T: BorrowMut<MapData>> ProgramArray<T> { /// Calling `bpf_tail_call(ctx, prog_array, index)` on an index that has been cleared returns an /// error. pub fn clear_index(&mut self, index: &u32) -> Result<(), MapError> { - let data = self.inner.borrow_mut(); + let data = self.inner.borrow(); check_bounds(data, *index)?; - let fd = self.inner.borrow_mut().fd; + let fd = self.inner.borrow().fd; bpf_map_delete_elem(fd, index) .map(|_| ()) diff --git a/aya/src/maps/bloom_filter.rs b/aya/src/maps/bloom_filter.rs index 0396d0f6..40125b05 100644 --- a/aya/src/maps/bloom_filter.rs +++ b/aya/src/maps/bloom_filter.rs @@ -1,8 +1,5 @@ //! A Bloom Filter. -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_v_size, MapData, MapError}, @@ -64,10 +61,10 @@ impl<T: Borrow<MapData>, V: Pod> BloomFilter<T, V> { } } -impl<T: BorrowMut<MapData>, V: Pod> BloomFilter<T, V> { +impl<T: Borrow<MapData>, V: Pod> BloomFilter<T, V> { /// Inserts a value into the map. pub fn insert(&mut self, value: impl Borrow<V>, flags: u64) -> Result<(), MapError> { - let fd = self.inner.borrow_mut().fd; + let fd = self.inner.borrow().fd; bpf_map_push_elem(fd, value.borrow(), flags).map_err(|(_, io_error)| SyscallError { call: "bpf_map_push_elem", io_error, diff --git a/aya/src/maps/hash_map/hash_map.rs b/aya/src/maps/hash_map/hash_map.rs index 1f8a2f9c..3b0e2163 100644 --- a/aya/src/maps/hash_map/hash_map.rs +++ b/aya/src/maps/hash_map/hash_map.rs @@ -1,7 +1,4 @@ -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_kv_size, hash_map, IterableMap, MapData, MapError, MapIter, MapKeys}, @@ -73,7 +70,7 @@ impl<T: Borrow<MapData>, K: Pod, V: Pod> HashMap<T, K, V> { } } -impl<T: BorrowMut<MapData>, K: Pod, V: Pod> HashMap<T, K, V> { +impl<T: Borrow<MapData>, K: Pod, V: Pod> HashMap<T, K, V> { /// Inserts a key-value pair into the map. pub fn insert( &mut self, @@ -81,12 +78,12 @@ impl<T: BorrowMut<MapData>, K: Pod, V: Pod> HashMap<T, K, V> { value: impl Borrow<V>, flags: u64, ) -> Result<(), MapError> { - hash_map::insert(self.inner.borrow_mut(), key.borrow(), value.borrow(), flags) + hash_map::insert(self.inner.borrow(), key.borrow(), value.borrow(), flags) } /// Removes a key from the map. pub fn remove(&mut self, key: &K) -> Result<(), MapError> { - hash_map::remove(self.inner.borrow_mut(), key) + hash_map::remove(self.inner.borrow(), key) } } diff --git a/aya/src/maps/hash_map/per_cpu_hash_map.rs b/aya/src/maps/hash_map/per_cpu_hash_map.rs index 5ae177f2..ee7e2064 100644 --- a/aya/src/maps/hash_map/per_cpu_hash_map.rs +++ b/aya/src/maps/hash_map/per_cpu_hash_map.rs @@ -1,8 +1,5 @@ //! Per-CPU hash map. -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{ @@ -83,7 +80,7 @@ impl<T: Borrow<MapData>, K: Pod, V: Pod> PerCpuHashMap<T, K, V> { } } -impl<T: BorrowMut<MapData>, K: Pod, V: Pod> PerCpuHashMap<T, K, V> { +impl<T: Borrow<MapData>, K: Pod, V: Pod> PerCpuHashMap<T, K, V> { /// Inserts a slice of values - one for each CPU - for the given key. /// /// # Examples @@ -118,7 +115,7 @@ impl<T: BorrowMut<MapData>, K: Pod, V: Pod> PerCpuHashMap<T, K, V> { values: PerCpuValues<V>, flags: u64, ) -> Result<(), MapError> { - let fd = self.inner.borrow_mut().fd; + let fd = self.inner.borrow().fd; bpf_map_update_elem_per_cpu(fd, key.borrow(), &values, flags).map_err( |(_, io_error)| SyscallError { call: "bpf_map_update_elem", @@ -131,7 +128,7 @@ impl<T: BorrowMut<MapData>, K: Pod, V: Pod> PerCpuHashMap<T, K, V> { /// Removes a key from the map. pub fn remove(&mut self, key: &K) -> Result<(), MapError> { - hash_map::remove(self.inner.borrow_mut(), key) + hash_map::remove(self.inner.borrow(), key) } } diff --git a/aya/src/maps/lpm_trie.rs b/aya/src/maps/lpm_trie.rs index dcdc443d..d2009414 100644 --- a/aya/src/maps/lpm_trie.rs +++ b/aya/src/maps/lpm_trie.rs @@ -1,8 +1,5 @@ //! A LPM Trie. -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_kv_size, IterableMap, MapData, MapError, MapIter, MapKeys}, @@ -147,7 +144,7 @@ impl<T: Borrow<MapData>, K: Pod, V: Pod> LpmTrie<T, K, V> { } } -impl<T: BorrowMut<MapData>, K: Pod, V: Pod> LpmTrie<T, K, V> { +impl<T: Borrow<MapData>, K: Pod, V: Pod> LpmTrie<T, K, V> { /// Inserts a key value pair into the map. pub fn insert( &mut self, diff --git a/aya/src/maps/perf/async_perf_event_array.rs b/aya/src/maps/perf/async_perf_event_array.rs index 7c942e26..cc52e2dc 100644 --- a/aya/src/maps/perf/async_perf_event_array.rs +++ b/aya/src/maps/perf/async_perf_event_array.rs @@ -1,6 +1,6 @@ use bytes::BytesMut; use std::{ - borrow::{Borrow, BorrowMut}, + borrow::Borrow, os::fd::{AsRawFd as _, RawFd}, }; @@ -92,7 +92,7 @@ pub struct AsyncPerfEventArray<T> { perf_map: PerfEventArray<T>, } -impl<T: BorrowMut<MapData> + Borrow<MapData>> AsyncPerfEventArray<T> { +impl<T: Borrow<MapData>> AsyncPerfEventArray<T> { /// Opens the perf buffer at the given index. /// /// The returned buffer will receive all the events eBPF programs send at the given index. @@ -141,7 +141,7 @@ pub struct AsyncPerfEventArrayBuffer<T> { async_std_fd: Async<RawFd>, } -impl<T: BorrowMut<MapData> + Borrow<MapData>> AsyncPerfEventArrayBuffer<T> { +impl<T: Borrow<MapData>> AsyncPerfEventArrayBuffer<T> { /// Reads events from the buffer. /// /// This method reads events into the provided slice of buffers, filling diff --git a/aya/src/maps/perf/perf_event_array.rs b/aya/src/maps/perf/perf_event_array.rs index bde255ed..075998c6 100644 --- a/aya/src/maps/perf/perf_event_array.rs +++ b/aya/src/maps/perf/perf_event_array.rs @@ -2,7 +2,7 @@ //! //! [`perf`]: https://perf.wiki.kernel.org/index.php/Main_Page. use std::{ - borrow::{Borrow, BorrowMut}, + borrow::Borrow, ops::Deref, os::fd::{AsRawFd, RawFd}, sync::Arc, @@ -31,7 +31,7 @@ pub struct PerfEventArrayBuffer<T> { buf: PerfBuffer, } -impl<T: BorrowMut<MapData> + Borrow<MapData>> PerfEventArrayBuffer<T> { +impl<T: Borrow<MapData>> PerfEventArrayBuffer<T> { /// Returns true if the buffer contains events that haven't been read. pub fn readable(&self) -> bool { self.buf.readable() @@ -55,7 +55,7 @@ impl<T: BorrowMut<MapData> + Borrow<MapData>> PerfEventArrayBuffer<T> { } } -impl<T: BorrowMut<MapData> + Borrow<MapData>> AsRawFd for PerfEventArrayBuffer<T> { +impl<T: Borrow<MapData>> AsRawFd for PerfEventArrayBuffer<T> { fn as_raw_fd(&self) -> RawFd { self.buf.as_raw_fd() } @@ -84,14 +84,14 @@ impl<T: BorrowMut<MapData> + Borrow<MapData>> AsRawFd for PerfEventArrayBuffer<T /// ```no_run /// # use aya::maps::perf::PerfEventArrayBuffer; /// # use aya::maps::MapData; -/// # use std::borrow::BorrowMut; +/// # use std::borrow::Borrow; /// # struct Poll<T> { _t: std::marker::PhantomData<T> }; -/// # impl<T: BorrowMut<MapData>> Poll<T> { +/// # impl<T: Borrow<MapData>> Poll<T> { /// # fn poll_readable(&self) -> &mut [PerfEventArrayBuffer<T>] { /// # &mut [] /// # } /// # } -/// # fn poll_buffers<T: BorrowMut<MapData>>(bufs: Vec<PerfEventArrayBuffer<T>>) -> Poll<T> { +/// # fn poll_buffers<T: Borrow<MapData>>(bufs: Vec<PerfEventArrayBuffer<T>>) -> Poll<T> { /// # Poll { _t: std::marker::PhantomData } /// # } /// # #[derive(thiserror::Error, Debug)] @@ -169,7 +169,7 @@ impl<T: Borrow<MapData>> PerfEventArray<T> { } } -impl<T: BorrowMut<MapData> + Borrow<MapData>> PerfEventArray<T> { +impl<T: Borrow<MapData>> PerfEventArray<T> { /// Opens the perf buffer at the given index. /// /// The returned buffer will receive all the events eBPF programs send at the given index. diff --git a/aya/src/maps/queue.rs b/aya/src/maps/queue.rs index 6eebbf01..88df360e 100644 --- a/aya/src/maps/queue.rs +++ b/aya/src/maps/queue.rs @@ -1,8 +1,5 @@ //! A FIFO queue. -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_kv_size, MapData, MapError}, @@ -52,7 +49,7 @@ impl<T: Borrow<MapData>, V: Pod> Queue<T, V> { } } -impl<T: BorrowMut<MapData>, V: Pod> Queue<T, V> { +impl<T: Borrow<MapData>, V: Pod> Queue<T, V> { /// Removes the first element and returns it. /// /// # Errors diff --git a/aya/src/maps/sock/sock_hash.rs b/aya/src/maps/sock/sock_hash.rs index 503dcaae..e99ca71f 100644 --- a/aya/src/maps/sock/sock_hash.rs +++ b/aya/src/maps/sock/sock_hash.rs @@ -1,5 +1,5 @@ use std::{ - borrow::{Borrow, BorrowMut}, + borrow::Borrow, marker::PhantomData, os::fd::{AsRawFd, RawFd}, }; @@ -110,7 +110,7 @@ impl<T: Borrow<MapData>, K: Pod> SockHash<T, K> { } } -impl<T: BorrowMut<MapData>, K: Pod> SockHash<T, K> { +impl<T: Borrow<MapData>, K: Pod> SockHash<T, K> { /// Inserts a socket under the given key. pub fn insert<I: AsRawFd>( &mut self, @@ -118,17 +118,12 @@ impl<T: BorrowMut<MapData>, K: Pod> SockHash<T, K> { value: I, flags: u64, ) -> Result<(), MapError> { - hash_map::insert( - self.inner.borrow_mut(), - key.borrow(), - &value.as_raw_fd(), - flags, - ) + hash_map::insert(self.inner.borrow(), key.borrow(), &value.as_raw_fd(), flags) } /// Removes a socket from the map. pub fn remove(&mut self, key: &K) -> Result<(), MapError> { - hash_map::remove(self.inner.borrow_mut(), key) + hash_map::remove(self.inner.borrow(), key) } } diff --git a/aya/src/maps/sock/sock_map.rs b/aya/src/maps/sock/sock_map.rs index 8194cd71..54d5e014 100644 --- a/aya/src/maps/sock/sock_map.rs +++ b/aya/src/maps/sock/sock_map.rs @@ -1,7 +1,7 @@ //! An array of eBPF program file descriptors used as a jump table. use std::{ - borrow::{Borrow, BorrowMut}, + borrow::Borrow, os::fd::{AsRawFd, RawFd}, }; @@ -67,10 +67,10 @@ impl<T: Borrow<MapData>> SockMap<T> { } } -impl<T: BorrowMut<MapData>> SockMap<T> { +impl<T: Borrow<MapData>> SockMap<T> { /// Stores a socket into the map. pub fn set<I: AsRawFd>(&mut self, index: u32, socket: &I, flags: u64) -> Result<(), MapError> { - let data = self.inner.borrow_mut(); + let data = self.inner.borrow(); let fd = data.fd; check_bounds(data, index)?; bpf_map_update_elem(fd, Some(&index), &socket.as_raw_fd(), flags).map_err( @@ -84,7 +84,7 @@ impl<T: BorrowMut<MapData>> SockMap<T> { /// Removes the socket stored at `index` from the map. pub fn clear_index(&mut self, index: &u32) -> Result<(), MapError> { - let data = self.inner.borrow_mut(); + let data = self.inner.borrow(); let fd = data.fd; check_bounds(data, *index)?; bpf_map_delete_elem(fd, index) diff --git a/aya/src/maps/stack.rs b/aya/src/maps/stack.rs index c4afeebb..b16f4652 100644 --- a/aya/src/maps/stack.rs +++ b/aya/src/maps/stack.rs @@ -1,8 +1,5 @@ //! A LIFO stack. -use std::{ - borrow::{Borrow, BorrowMut}, - marker::PhantomData, -}; +use std::{borrow::Borrow, marker::PhantomData}; use crate::{ maps::{check_kv_size, MapData, MapError}, @@ -52,7 +49,7 @@ impl<T: Borrow<MapData>, V: Pod> Stack<T, V> { } } -impl<T: BorrowMut<MapData>, V: Pod> Stack<T, V> { +impl<T: Borrow<MapData>, V: Pod> Stack<T, V> { /// Removes the last element and returns it. /// /// # Errors diff --git a/xtask/public-api/aya.txt b/xtask/public-api/aya.txt index 388024ce..47d9433c 100644 --- a/xtask/public-api/aya.txt +++ b/xtask/public-api/aya.txt @@ -11,7 +11,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::array: pub fn aya::maps::array::Array<T, V>::get(&self, index: &u32, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::array::Array<T, V>::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = core::result::Result<V, aya::maps::MapError>> + '_ pub fn aya::maps::array::Array<T, V>::len(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::array::Array<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::array::Array<T, V> pub fn aya::maps::array::Array<T, V>::set(&mut self, index: u32, value: impl core::borrow::Borrow<V>, 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> pub type aya::maps::array::Array<&'a aya::maps::MapData, V>::Error = aya::maps::MapError @@ -51,7 +51,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::PerCpu pub fn aya::maps::PerCpuArray<T, V>::get(&self, index: &u32, flags: u64) -> core::result::Result<aya::maps::PerCpuValues<V>, aya::maps::MapError> pub fn aya::maps::PerCpuArray<T, V>::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = core::result::Result<aya::maps::PerCpuValues<V>, aya::maps::MapError>> + '_ pub fn aya::maps::PerCpuArray<T, V>::len(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::PerCpuArray<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::PerCpuArray<T, V> pub fn aya::maps::PerCpuArray<T, V>::set(&mut self, index: u32, values: aya::maps::PerCpuValues<V>, 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> pub type aya::maps::PerCpuArray<&'a aya::maps::MapData, V>::Error = aya::maps::MapError @@ -88,10 +88,10 @@ impl<T> core::convert::From<T> for aya::maps::PerCpuArray<T, V> pub fn aya::maps::PerCpuArray<T, V>::from(t: T) -> T pub struct aya::maps::array::ProgramArray<T> impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::ProgramArray<T> -pub fn aya::maps::ProgramArray<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>> aya::maps::ProgramArray<T> pub fn aya::maps::ProgramArray<T>::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::ProgramArray<T>::set(&mut self, index: u32, program: &aya::programs::ProgramFd, flags: u64) -> core::result::Result<(), aya::maps::MapError> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::ProgramArray<T> +pub fn aya::maps::ProgramArray<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::ProgramArray<aya::maps::MapData> pub type aya::maps::ProgramArray<aya::maps::MapData>::Error = aya::maps::MapError pub fn aya::maps::ProgramArray<aya::maps::MapData>::try_from(map: aya::maps::Map) -> core::result::Result<aya::maps::ProgramArray<aya::maps::MapData>, aya::maps::MapError> @@ -126,7 +126,7 @@ pub mod aya::maps::bloom_filter pub struct aya::maps::bloom_filter::BloomFilter<T, V: aya::Pod> impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::bloom_filter::BloomFilter<T, V> pub fn aya::maps::bloom_filter::BloomFilter<T, V>::contains(&self, value: &V, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::bloom_filter::BloomFilter<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::bloom_filter::BloomFilter<T, V> pub fn aya::maps::bloom_filter::BloomFilter<T, V>::insert(&mut self, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> 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 @@ -166,7 +166,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::HashMap<T, K, V>::get(&self, key: &K, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::hash_map::HashMap<T, K, V>::iter(&self) -> aya::maps::MapIter<'_, K, V, Self> pub fn aya::maps::hash_map::HashMap<T, K, V>::keys(&self) -> aya::maps::MapKeys<'_, K> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap<T, K, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap<T, K, V> pub fn aya::maps::hash_map::HashMap<T, K, V>::insert(&mut self, key: impl core::borrow::Borrow<K>, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::HashMap<T, K, V>::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod, K: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::HashMap<&'a aya::maps::MapData, V, K> @@ -209,7 +209,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::get(&self, key: &K, flags: u64) -> core::result::Result<aya::maps::PerCpuValues<V>, aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::iter(&self) -> aya::maps::MapIter<'_, K, aya::maps::PerCpuValues<V>, Self> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::keys(&self) -> aya::maps::MapKeys<'_, K> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap<T, K, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap<T, K, V> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::insert(&mut self, key: impl core::borrow::Borrow<K>, values: aya::maps::PerCpuValues<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod, K: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, V, K> @@ -288,7 +288,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::get(&self, key: &aya::maps::lpm_trie::Key<K>, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::iter(&self) -> aya::maps::MapIter<'_, aya::maps::lpm_trie::Key<K>, V, Self> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::keys(&self) -> aya::maps::MapKeys<'_, aya::maps::lpm_trie::Key<K>> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie<T, K, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie<T, K, V> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::insert(&mut self, key: &aya::maps::lpm_trie::Key<K>, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::remove(&mut self, key: &aya::maps::lpm_trie::Key<K>) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod, K: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, V, K> @@ -372,7 +372,7 @@ pub fn aya::maps::perf::PerfBufferError::borrow_mut(&mut self) -> &mut T impl<T> core::convert::From<T> for aya::maps::perf::PerfBufferError pub fn aya::maps::perf::PerfBufferError::from(t: T) -> T pub struct aya::maps::perf::AsyncPerfEventArray<T> -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::AsyncPerfEventArray<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::AsyncPerfEventArray<T> pub fn aya::maps::perf::AsyncPerfEventArray<T>::open(&mut self, index: u32, page_count: core::option::Option<usize>) -> core::result::Result<aya::maps::perf::AsyncPerfEventArrayBuffer<T>, aya::maps::perf::PerfBufferError> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::perf::AsyncPerfEventArray<aya::maps::MapData> pub type aya::maps::perf::AsyncPerfEventArray<aya::maps::MapData>::Error = aya::maps::MapError @@ -405,7 +405,7 @@ pub fn aya::maps::perf::AsyncPerfEventArray<T>::borrow_mut(&mut self) -> &mut T impl<T> core::convert::From<T> for aya::maps::perf::AsyncPerfEventArray<T> pub fn aya::maps::perf::AsyncPerfEventArray<T>::from(t: T) -> T pub struct aya::maps::perf::AsyncPerfEventArrayBuffer<T> -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::AsyncPerfEventArrayBuffer<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::AsyncPerfEventArrayBuffer<T> pub async fn aya::maps::perf::AsyncPerfEventArrayBuffer<T>::read_events(&mut self, buffers: &mut [bytes::bytes_mut::BytesMut]) -> core::result::Result<aya::maps::perf::Events, aya::maps::perf::PerfBufferError> impl<T> core::marker::Send for aya::maps::perf::AsyncPerfEventArrayBuffer<T> where T: core::marker::Send + core::marker::Sync impl<T> core::marker::Sync for aya::maps::perf::AsyncPerfEventArrayBuffer<T> where T: core::marker::Send + core::marker::Sync @@ -460,7 +460,7 @@ pub fn aya::maps::perf::Events::borrow_mut(&mut self) -> &mut T impl<T> core::convert::From<T> for aya::maps::perf::Events pub fn aya::maps::perf::Events::from(t: T) -> T pub struct aya::maps::perf::PerfEventArray<T> -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::PerfEventArray<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::PerfEventArray<T> pub fn aya::maps::perf::PerfEventArray<T>::open(&mut self, index: u32, page_count: core::option::Option<usize>) -> core::result::Result<aya::maps::perf::PerfEventArrayBuffer<T>, aya::maps::perf::PerfBufferError> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::perf::PerfEventArray<aya::maps::MapData> pub type aya::maps::perf::PerfEventArray<aya::maps::MapData>::Error = aya::maps::MapError @@ -493,10 +493,10 @@ pub fn aya::maps::perf::PerfEventArray<T>::borrow_mut(&mut self) -> &mut T impl<T> core::convert::From<T> for aya::maps::perf::PerfEventArray<T> pub fn aya::maps::perf::PerfEventArray<T>::from(t: T) -> T pub struct aya::maps::perf::PerfEventArrayBuffer<T> -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::PerfEventArrayBuffer<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::PerfEventArrayBuffer<T> pub fn aya::maps::perf::PerfEventArrayBuffer<T>::read_events(&mut self, out_bufs: &mut [bytes::bytes_mut::BytesMut]) -> core::result::Result<aya::maps::perf::Events, aya::maps::perf::PerfBufferError> pub fn aya::maps::perf::PerfEventArrayBuffer<T>::readable(&self) -> bool -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> std::os::fd::raw::AsRawFd for aya::maps::perf::PerfEventArrayBuffer<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> std::os::fd::raw::AsRawFd for aya::maps::perf::PerfEventArrayBuffer<T> pub fn aya::maps::perf::PerfEventArrayBuffer<T>::as_raw_fd(&self) -> std::os::fd::raw::RawFd impl<T> core::marker::Send for aya::maps::perf::PerfEventArrayBuffer<T> where T: core::marker::Send + core::marker::Sync impl<T> core::marker::Sync for aya::maps::perf::PerfEventArrayBuffer<T> where T: core::marker::Send + core::marker::Sync @@ -523,7 +523,7 @@ pub mod aya::maps::queue pub struct aya::maps::queue::Queue<T, V: aya::Pod> impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::queue::Queue<T, V> pub fn aya::maps::queue::Queue<T, V>::capacity(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::queue::Queue<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::queue::Queue<T, V> pub fn aya::maps::queue::Queue<T, V>::pop(&mut self, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::queue::Queue<T, V>::push(&mut self, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::queue::Queue<&'a aya::maps::MapData, V> @@ -563,7 +563,7 @@ pub fn aya::maps::SockHash<T, K>::fd(&self) -> core::result::Result<aya::maps::s pub fn aya::maps::SockHash<T, K>::get(&self, key: &K, flags: u64) -> core::result::Result<std::os::fd::raw::RawFd, aya::maps::MapError> pub fn aya::maps::SockHash<T, K>::iter(&self) -> aya::maps::MapIter<'_, K, std::os::fd::raw::RawFd, Self> pub fn aya::maps::SockHash<T, K>::keys(&self) -> aya::maps::MapKeys<'_, K> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod> aya::maps::SockHash<T, K> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod> aya::maps::SockHash<T, K> pub fn aya::maps::SockHash<T, K>::insert<I: std::os::fd::raw::AsRawFd>(&mut self, key: impl core::borrow::Borrow<K>, value: I, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockHash<T, K>::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::SockHash<&'a aya::maps::MapData, V> @@ -601,11 +601,11 @@ impl<T> core::convert::From<T> for aya::maps::SockHash<T, K> pub fn aya::maps::SockHash<T, K>::from(t: T) -> T pub struct aya::maps::sock::SockMap<T> impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::SockMap<T> -pub fn aya::maps::SockMap<T>::fd(&self) -> core::result::Result<aya::maps::sock::SockMapFd, aya::maps::MapError> -pub fn aya::maps::SockMap<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>> aya::maps::SockMap<T> pub fn aya::maps::SockMap<T>::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockMap<T>::set<I: std::os::fd::raw::AsRawFd>(&mut self, index: u32, socket: &I, flags: u64) -> core::result::Result<(), aya::maps::MapError> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::SockMap<T> +pub fn aya::maps::SockMap<T>::fd(&self) -> core::result::Result<aya::maps::sock::SockMapFd, aya::maps::MapError> +pub fn aya::maps::SockMap<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::SockMap<aya::maps::MapData> pub type aya::maps::SockMap<aya::maps::MapData>::Error = aya::maps::MapError pub fn aya::maps::SockMap<aya::maps::MapData>::try_from(map: aya::maps::Map) -> core::result::Result<aya::maps::SockMap<aya::maps::MapData>, aya::maps::MapError> @@ -671,7 +671,7 @@ pub mod aya::maps::stack pub struct aya::maps::stack::Stack<T, V: aya::Pod> impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::stack::Stack<T, V> pub fn aya::maps::stack::Stack<T, V>::capacity(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::stack::Stack<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::stack::Stack<T, V> pub fn aya::maps::stack::Stack<T, V>::pop(&mut self, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::stack::Stack<T, V>::push(&mut self, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::stack::Stack<&'a aya::maps::MapData, V> @@ -1031,7 +1031,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::array: pub fn aya::maps::array::Array<T, V>::get(&self, index: &u32, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::array::Array<T, V>::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = core::result::Result<V, aya::maps::MapError>> + '_ pub fn aya::maps::array::Array<T, V>::len(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::array::Array<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::array::Array<T, V> pub fn aya::maps::array::Array<T, V>::set(&mut self, index: u32, value: impl core::borrow::Borrow<V>, 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> pub type aya::maps::array::Array<&'a aya::maps::MapData, V>::Error = aya::maps::MapError @@ -1067,7 +1067,7 @@ pub fn aya::maps::array::Array<T, V>::borrow_mut(&mut self) -> &mut T impl<T> core::convert::From<T> for aya::maps::array::Array<T, V> pub fn aya::maps::array::Array<T, V>::from(t: T) -> T pub struct aya::maps::AsyncPerfEventArray<T> -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::AsyncPerfEventArray<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::AsyncPerfEventArray<T> pub fn aya::maps::perf::AsyncPerfEventArray<T>::open(&mut self, index: u32, page_count: core::option::Option<usize>) -> core::result::Result<aya::maps::perf::AsyncPerfEventArrayBuffer<T>, aya::maps::perf::PerfBufferError> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::perf::AsyncPerfEventArray<aya::maps::MapData> pub type aya::maps::perf::AsyncPerfEventArray<aya::maps::MapData>::Error = aya::maps::MapError @@ -1102,7 +1102,7 @@ pub fn aya::maps::perf::AsyncPerfEventArray<T>::from(t: T) -> T pub struct aya::maps::BloomFilter<T, V: aya::Pod> impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::bloom_filter::BloomFilter<T, V> pub fn aya::maps::bloom_filter::BloomFilter<T, V>::contains(&self, value: &V, flags: u64) -> core::result::Result<(), aya::maps::MapError> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::bloom_filter::BloomFilter<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::bloom_filter::BloomFilter<T, V> pub fn aya::maps::bloom_filter::BloomFilter<T, V>::insert(&mut self, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> 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 @@ -1141,7 +1141,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::HashMap<T, K, V>::get(&self, key: &K, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::hash_map::HashMap<T, K, V>::iter(&self) -> aya::maps::MapIter<'_, K, V, Self> pub fn aya::maps::hash_map::HashMap<T, K, V>::keys(&self) -> aya::maps::MapKeys<'_, K> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap<T, K, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::HashMap<T, K, V> pub fn aya::maps::hash_map::HashMap<T, K, V>::insert(&mut self, key: impl core::borrow::Borrow<K>, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::HashMap<T, K, V>::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod, K: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::HashMap<&'a aya::maps::MapData, V, K> @@ -1184,7 +1184,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::get(&self, key: &aya::maps::lpm_trie::Key<K>, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::iter(&self) -> aya::maps::MapIter<'_, aya::maps::lpm_trie::Key<K>, V, Self> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::keys(&self) -> aya::maps::MapKeys<'_, aya::maps::lpm_trie::Key<K>> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie<T, K, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::lpm_trie::LpmTrie<T, K, V> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::insert(&mut self, key: &aya::maps::lpm_trie::Key<K>, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::lpm_trie::LpmTrie<T, K, V>::remove(&mut self, key: &aya::maps::lpm_trie::Key<K>) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod, K: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::lpm_trie::LpmTrie<&'a aya::maps::MapData, V, K> @@ -1347,7 +1347,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::PerCpu pub fn aya::maps::PerCpuArray<T, V>::get(&self, index: &u32, flags: u64) -> core::result::Result<aya::maps::PerCpuValues<V>, aya::maps::MapError> pub fn aya::maps::PerCpuArray<T, V>::iter(&self) -> impl core::iter::traits::iterator::Iterator<Item = core::result::Result<aya::maps::PerCpuValues<V>, aya::maps::MapError>> + '_ pub fn aya::maps::PerCpuArray<T, V>::len(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::PerCpuArray<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::PerCpuArray<T, V> pub fn aya::maps::PerCpuArray<T, V>::set(&mut self, index: u32, values: aya::maps::PerCpuValues<V>, 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> pub type aya::maps::PerCpuArray<&'a aya::maps::MapData, V>::Error = aya::maps::MapError @@ -1387,7 +1387,7 @@ impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya: pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::get(&self, key: &K, flags: u64) -> core::result::Result<aya::maps::PerCpuValues<V>, aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::iter(&self) -> aya::maps::MapIter<'_, K, aya::maps::PerCpuValues<V>, Self> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::keys(&self) -> aya::maps::MapKeys<'_, K> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap<T, K, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod, V: aya::Pod> aya::maps::hash_map::PerCpuHashMap<T, K, V> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::insert(&mut self, key: impl core::borrow::Borrow<K>, values: aya::maps::PerCpuValues<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::hash_map::PerCpuHashMap<T, K, V>::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod, K: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::hash_map::PerCpuHashMap<&'a aya::maps::MapData, V, K> @@ -1460,7 +1460,7 @@ pub fn aya::maps::PerCpuValues<T>::borrow_mut(&mut self) -> &mut T impl<T> core::convert::From<T> for aya::maps::PerCpuValues<T> pub fn aya::maps::PerCpuValues<T>::from(t: T) -> T pub struct aya::maps::PerfEventArray<T> -impl<T: core::borrow::BorrowMut<aya::maps::MapData> + core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::PerfEventArray<T> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::perf::PerfEventArray<T> pub fn aya::maps::perf::PerfEventArray<T>::open(&mut self, index: u32, page_count: core::option::Option<usize>) -> core::result::Result<aya::maps::perf::PerfEventArrayBuffer<T>, aya::maps::perf::PerfBufferError> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::perf::PerfEventArray<aya::maps::MapData> pub type aya::maps::perf::PerfEventArray<aya::maps::MapData>::Error = aya::maps::MapError @@ -1494,10 +1494,10 @@ impl<T> core::convert::From<T> for aya::maps::perf::PerfEventArray<T> pub fn aya::maps::perf::PerfEventArray<T>::from(t: T) -> T pub struct aya::maps::ProgramArray<T> impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::ProgramArray<T> -pub fn aya::maps::ProgramArray<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>> aya::maps::ProgramArray<T> pub fn aya::maps::ProgramArray<T>::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::ProgramArray<T>::set(&mut self, index: u32, program: &aya::programs::ProgramFd, flags: u64) -> core::result::Result<(), aya::maps::MapError> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::ProgramArray<T> +pub fn aya::maps::ProgramArray<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::ProgramArray<aya::maps::MapData> pub type aya::maps::ProgramArray<aya::maps::MapData>::Error = aya::maps::MapError pub fn aya::maps::ProgramArray<aya::maps::MapData>::try_from(map: aya::maps::Map) -> core::result::Result<aya::maps::ProgramArray<aya::maps::MapData>, aya::maps::MapError> @@ -1531,7 +1531,7 @@ pub fn aya::maps::ProgramArray<T>::from(t: T) -> T pub struct aya::maps::Queue<T, V: aya::Pod> impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::queue::Queue<T, V> pub fn aya::maps::queue::Queue<T, V>::capacity(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::queue::Queue<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::queue::Queue<T, V> pub fn aya::maps::queue::Queue<T, V>::pop(&mut self, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::queue::Queue<T, V>::push(&mut self, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::queue::Queue<&'a aya::maps::MapData, V> @@ -1570,7 +1570,7 @@ pub fn aya::maps::SockHash<T, K>::fd(&self) -> core::result::Result<aya::maps::s pub fn aya::maps::SockHash<T, K>::get(&self, key: &K, flags: u64) -> core::result::Result<std::os::fd::raw::RawFd, aya::maps::MapError> pub fn aya::maps::SockHash<T, K>::iter(&self) -> aya::maps::MapIter<'_, K, std::os::fd::raw::RawFd, Self> pub fn aya::maps::SockHash<T, K>::keys(&self) -> aya::maps::MapKeys<'_, K> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, K: aya::Pod> aya::maps::SockHash<T, K> +impl<T: core::borrow::Borrow<aya::maps::MapData>, K: aya::Pod> aya::maps::SockHash<T, K> pub fn aya::maps::SockHash<T, K>::insert<I: std::os::fd::raw::AsRawFd>(&mut self, key: impl core::borrow::Borrow<K>, value: I, flags: u64) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockHash<T, K>::remove(&mut self, key: &K) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::SockHash<&'a aya::maps::MapData, V> @@ -1608,11 +1608,11 @@ impl<T> core::convert::From<T> for aya::maps::SockHash<T, K> pub fn aya::maps::SockHash<T, K>::from(t: T) -> T pub struct aya::maps::SockMap<T> impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::SockMap<T> -pub fn aya::maps::SockMap<T>::fd(&self) -> core::result::Result<aya::maps::sock::SockMapFd, aya::maps::MapError> -pub fn aya::maps::SockMap<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> -impl<T: core::borrow::BorrowMut<aya::maps::MapData>> aya::maps::SockMap<T> pub fn aya::maps::SockMap<T>::clear_index(&mut self, index: &u32) -> core::result::Result<(), aya::maps::MapError> pub fn aya::maps::SockMap<T>::set<I: std::os::fd::raw::AsRawFd>(&mut self, index: u32, socket: &I, flags: u64) -> core::result::Result<(), aya::maps::MapError> +impl<T: core::borrow::Borrow<aya::maps::MapData>> aya::maps::SockMap<T> +pub fn aya::maps::SockMap<T>::fd(&self) -> core::result::Result<aya::maps::sock::SockMapFd, aya::maps::MapError> +pub fn aya::maps::SockMap<T>::indices(&self) -> aya::maps::MapKeys<'_, u32> impl core::convert::TryFrom<aya::maps::Map> for aya::maps::SockMap<aya::maps::MapData> pub type aya::maps::SockMap<aya::maps::MapData>::Error = aya::maps::MapError pub fn aya::maps::SockMap<aya::maps::MapData>::try_from(map: aya::maps::Map) -> core::result::Result<aya::maps::SockMap<aya::maps::MapData>, aya::maps::MapError> @@ -1646,7 +1646,7 @@ pub fn aya::maps::SockMap<T>::from(t: T) -> T pub struct aya::maps::Stack<T, V: aya::Pod> impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::stack::Stack<T, V> pub fn aya::maps::stack::Stack<T, V>::capacity(&self) -> u32 -impl<T: core::borrow::BorrowMut<aya::maps::MapData>, V: aya::Pod> aya::maps::stack::Stack<T, V> +impl<T: core::borrow::Borrow<aya::maps::MapData>, V: aya::Pod> aya::maps::stack::Stack<T, V> pub fn aya::maps::stack::Stack<T, V>::pop(&mut self, flags: u64) -> core::result::Result<V, aya::maps::MapError> pub fn aya::maps::stack::Stack<T, V>::push(&mut self, value: impl core::borrow::Borrow<V>, flags: u64) -> core::result::Result<(), aya::maps::MapError> impl<'a, V: aya::Pod> core::convert::TryFrom<&'a aya::maps::Map> for aya::maps::stack::Stack<&'a aya::maps::MapData, V>