Browse Source

bpf: add HashMap::remove()

Alessandro Decina 3 năm trước cách đây
mục cha
commit
240c65507b
1 tập tin đã thay đổi với 12 bổ sung0 xóa
  1. 12 0
      bpf/aya-bpf/src/maps/hash_map.rs

+ 12 - 0
bpf/aya-bpf/src/maps/hash_map.rs

@@ -73,4 +73,16 @@ impl<K, V> HashMap<K, V> {
 
         Ok(())
     }
+
+    pub unsafe fn remove(&mut self, key: &K) -> Result<(), c_long> {
+        let value = bpf_map_delete_elem(
+            &mut self.def as *mut _ as *mut _,
+            key as *const _ as *const c_void,
+        );
+        if value < 0 {
+            Err(value)
+        } else {
+            Ok(())
+        }
+    }
 }