Trait Handler

Source
pub trait Handler<'a, T> {
    type Output;

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

Required Associated Types§

Required Methods§

Source

fn call( self, accounts: &mut &'a [AccountInfo], instruction_data: &mut &'a [u8], ) -> Result<Self::Output, Error>

Implementors§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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