Skip to content

Commit

Permalink
maps: BloomFilter::insert takes &mut self
Browse files Browse the repository at this point in the history
This is consistent with all the other maps.
  • Loading branch information
tamird committed Aug 16, 2023
1 parent 742322f commit 059270a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
15 changes: 10 additions & 5 deletions aya/src/maps/bloom_filter.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
//! A Bloom Filter.
use std::{borrow::Borrow, marker::PhantomData};
use std::{
borrow::{Borrow, BorrowMut},
marker::PhantomData,
};

use crate::{
maps::{check_v_size, MapData, MapError},
Expand Down Expand Up @@ -59,10 +62,12 @@ impl<T: Borrow<MapData>, V: Pod> BloomFilter<T, V> {
.ok_or(MapError::ElementNotFound)?;
Ok(())
}
}

impl<T: BorrowMut<MapData>, V: Pod> BloomFilter<T, V> {
/// Inserts a value into the map.
pub fn insert(&self, value: impl Borrow<V>, flags: u64) -> Result<(), MapError> {
let fd = self.inner.borrow().fd;
pub fn insert(&mut self, value: impl Borrow<V>, flags: u64) -> Result<(), MapError> {
let fd = self.inner.borrow_mut().fd;
bpf_map_push_elem(fd, value.borrow(), flags).map_err(|(_, io_error)| SyscallError {
call: "bpf_map_push_elem",
io_error,
Expand Down Expand Up @@ -173,7 +178,7 @@ mod tests {
#[test]
fn test_insert_syscall_error() {
let mut map = new_map(new_obj_map());
let bloom_filter = BloomFilter::<_, u32>::new(&mut map).unwrap();
let mut bloom_filter = BloomFilter::<_, u32>::new(&mut map).unwrap();

override_syscall(|_| sys_error(EFAULT));

Expand All @@ -186,7 +191,7 @@ mod tests {
#[test]
fn test_insert_ok() {
let mut map = new_map(new_obj_map());
let bloom_filter = BloomFilter::<_, u32>::new(&mut map).unwrap();
let mut bloom_filter = BloomFilter::<_, u32>::new(&mut map).unwrap();

override_syscall(|call| match call {
Syscall::Bpf {
Expand Down
6 changes: 4 additions & 2 deletions xtask/public-api/aya.txt
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,8 @@ 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>
pub fn aya::maps::bloom_filter::BloomFilter<T, V>::insert(&self, value: impl core::borrow::Borrow<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>
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
pub fn aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result<aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>, aya::maps::MapError>
Expand Down Expand Up @@ -1101,7 +1102,8 @@ 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>
pub fn aya::maps::bloom_filter::BloomFilter<T, V>::insert(&self, value: impl core::borrow::Borrow<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>
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
pub fn aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>::try_from(map: &'a aya::maps::Map) -> core::result::Result<aya::maps::bloom_filter::BloomFilter<&'a aya::maps::MapData, V>, aya::maps::MapError>
Expand Down

0 comments on commit 059270a

Please sign in to comment.