Source code for pythonbpf.maps.maps

# This file provides type  and function hints only and does not actually give any functionality.
[docs] class HashMap:
[docs] def __init__(self, key, value, max_entries): self.key = key self.value = value self.max_entries = max_entries self.entries = {}
[docs] def lookup(self, key): if key in self.entries: return self.entries[key] else: return None
[docs] def delete(self, key): if key in self.entries: del self.entries[key] else: raise KeyError(f"Key {key} not found in map")
# TODO: define the flags that can be added
[docs] def update(self, key, value, flags=None): if key in self.entries: self.entries[key] = value else: raise KeyError(f"Key {key} not found in map")
[docs] class PerfEventArray:
[docs] def __init__(self, key_size, value_size): self.key_type = key_size self.value_type = value_size self.entries = {}
[docs] def output(self, data): pass # Placeholder for output method
[docs] class RingBuffer:
[docs] def __init__(self, max_entries): self.max_entries = max_entries
[docs] def output(self, data, flags=0): pass
[docs] def reserve(self, size: int): if size > self.max_entries: raise ValueError("size cannot be greater than set maximum entries") return 0
[docs] def submit(self, data, flags=0): pass
[docs] def discard(self, data, flags=0): pass
# add discard, output and also give names to flags and stuff