use crate::{compute::ComputeMeter, errors::SbpfVmResult, memory::Memory};
pub trait SyscallHandler {
fn handle(
&mut self,
name: &str,
registers: [u64; 5],
memory: &mut Memory,
compute: ComputeMeter,
) -> SbpfVmResult<u64>;
}
#[derive(Debug, Default)]
pub struct MockSyscallHandler {
pub logs: Vec<String>,
}
impl SyscallHandler for MockSyscallHandler {
fn handle(
&mut self,
name: &str,
_registers: [u64; 5],
_memory: &mut Memory,
_compute: ComputeMeter,
) -> SbpfVmResult<u64> {
self.logs.push(format!("syscall: {}", name));
Ok(0)
}
}