Skip to main content

Handler

Trait Handler 

Source
pub trait Handler<'a, 'b, 'c, T> {
    type Output: NoUninit;

    // Required method
    fn call(
        self,
        program_id: &'a Address,
        accounts: &mut &'b [AccountView],
        instruction_data: &mut &'c [u8],
    ) -> Result<Self::Output, Error>;
}

Required Associated Types§

Required Methods§

Source

fn call( self, program_id: &'a Address, accounts: &mut &'b [AccountView], instruction_data: &mut &'c [u8], ) -> Result<Self::Output, Error>

Implementors§

Source§

impl<'a, 'b, 'c, T1, F, O> Handler<'a, 'b, 'c, (T1,)> for F
where F: FnOnce(T1) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>,

Source§

impl<'a, 'b, 'c, T1, T2, F, O> Handler<'a, 'b, 'c, (T1, T2)> for F
where F: FnOnce(T1, T2) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>, T2: HandlerContext<'a, 'b, 'c>,

Source§

impl<'a, 'b, 'c, T1, T2, T3, F, O> Handler<'a, 'b, 'c, (T1, T2, T3)> for F
where F: FnOnce(T1, T2, T3) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>, T2: HandlerContext<'a, 'b, 'c>, T3: HandlerContext<'a, 'b, 'c>,

Source§

impl<'a, 'b, 'c, T1, T2, T3, T4, F, O> Handler<'a, 'b, 'c, (T1, T2, T3, T4)> for F
where F: FnOnce(T1, T2, T3, T4) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>, T2: HandlerContext<'a, 'b, 'c>, T3: HandlerContext<'a, 'b, 'c>, T4: HandlerContext<'a, 'b, 'c>,

Source§

impl<'a, 'b, 'c, T1, T2, T3, T4, T5, F, O> Handler<'a, 'b, 'c, (T1, T2, T3, T4, T5)> for F
where F: FnOnce(T1, T2, T3, T4, T5) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>, T2: HandlerContext<'a, 'b, 'c>, T3: HandlerContext<'a, 'b, 'c>, T4: HandlerContext<'a, 'b, 'c>, T5: HandlerContext<'a, 'b, 'c>,

Source§

impl<'a, 'b, 'c, T1, T2, T3, T4, T5, T6, F, O> Handler<'a, 'b, 'c, (T1, T2, T3, T4, T5, T6)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>, T2: HandlerContext<'a, 'b, 'c>, T3: HandlerContext<'a, 'b, 'c>, T4: HandlerContext<'a, 'b, 'c>, T5: HandlerContext<'a, 'b, 'c>, T6: HandlerContext<'a, 'b, 'c>,

Source§

impl<'a, 'b, 'c, T1, T2, T3, T4, T5, T6, T7, F, O> Handler<'a, 'b, 'c, (T1, T2, T3, T4, T5, T6, T7)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7) -> Result<O, Error>, O: NoUninit, T1: HandlerContext<'a, 'b, 'c>, T2: HandlerContext<'a, 'b, 'c>, T3: HandlerContext<'a, 'b, 'c>, T4: HandlerContext<'a, 'b, 'c>, T5: HandlerContext<'a, 'b, 'c>, T6: HandlerContext<'a, 'b, 'c>, T7: HandlerContext<'a, 'b, 'c>,

Source§

impl<F, O> Handler<'_, '_, '_, ()> for F
where F: FnOnce() -> Result<O, Error>, O: NoUninit,