pub trait TimerCallback : Sized
{
#[inline(always)]
fn call(&mut self, timer: &Timer<Self>);
#[inline(always)]
unsafe extern "C" fn callFromC(arg1: *mut rte_timer, arg2: *mut c_void)
{
let timer: &mut Timer<Self> = &mut *(arg1 as *mut Timer<Self>);
let us: &mut Self = &mut *(arg2 as *mut Self);
us.call(timer);
forget(timer);
}
#[inline(always)]
fn asFunctionPointer() -> rte_timer_cb_t
{
Some(Self::callFromC)
}
#[allow(trivial_casts)]
#[inline(always)]
fn asFunctionArgument(&mut self) -> *mut c_void
{
self as *mut _ as *mut c_void
}
}