Trait ioc::InvocationMethod
[−]
[src]
pub trait InvocationMethod<'a, Key = String, Base: ?Sized = DefaultBase> where Key: Debug + Ord, Base: Any { type Args; type Ret; type Error: Debug; fn invoke(services: &'a BTreeMap<Key, RwLock<Box<Base>>>, args: Self::Args) -> Result<Self::Ret, Self::Error>; }
TODO naming? Invocation
?
Associated Types
Required Methods
fn invoke(services: &'a BTreeMap<Key, RwLock<Box<Base>>>, args: Self::Args) -> Result<Self::Ret, Self::Error>
Implementors
impl<'a, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for () where Key: Debug + Ord, Base: Any
impl<'a, Svc, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for Read<Svc> where Svc: ServiceReflect, Key: Borrow<Svc::Key> + Debug + Ord, Base: Downcast<Svc>
impl<'a, Svc, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for Write<Svc> where Svc: ServiceReflect, Key: Borrow<Svc::Key> + Debug + Ord, Base: Downcast<Svc>
impl<'a, Obj, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for Create<Obj> where Obj: FactoryObject, Obj::Factory: ServiceReflect, Key: Borrow<Obj::Factory::Key> + Debug + Ord, Base: Downcast<Obj::Factory>
impl<'a, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for ReadAll where Key: Debug + Ord + 'a, Base: Any
impl<'a, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for WriteAll where Key: Debug + Ord + 'a, Base: Any
impl<'a, A, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A,) where A: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, L, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K, L) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, L: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, L, M, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K, L, M) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, L: InvocationMethod<'a, Key, Base>, M: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, L, M, N, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K, L, M, N) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, L: InvocationMethod<'a, Key, Base>, M: InvocationMethod<'a, Key, Base>, N: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, L, M, N, O, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K, L, M, N, O) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, L: InvocationMethod<'a, Key, Base>, M: InvocationMethod<'a, Key, Base>, N: InvocationMethod<'a, Key, Base>, O: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, L, M, N, O, P, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K, L, M, N, O, P) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, L: InvocationMethod<'a, Key, Base>, M: InvocationMethod<'a, Key, Base>, N: InvocationMethod<'a, Key, Base>, O: InvocationMethod<'a, Key, Base>, P: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any
impl<'a, A, B, C, D, E, F, G, H, J, K, L, M, N, O, P, Q, Key, Base: ?Sized> InvocationMethod<'a, Key, Base> for (A, B, C, D, E, F, G, H, J, K, L, M, N, O, P, Q) where A: InvocationMethod<'a, Key, Base>, B: InvocationMethod<'a, Key, Base>, C: InvocationMethod<'a, Key, Base>, D: InvocationMethod<'a, Key, Base>, E: InvocationMethod<'a, Key, Base>, F: InvocationMethod<'a, Key, Base>, G: InvocationMethod<'a, Key, Base>, H: InvocationMethod<'a, Key, Base>, J: InvocationMethod<'a, Key, Base>, K: InvocationMethod<'a, Key, Base>, L: InvocationMethod<'a, Key, Base>, M: InvocationMethod<'a, Key, Base>, N: InvocationMethod<'a, Key, Base>, O: InvocationMethod<'a, Key, Base>, P: InvocationMethod<'a, Key, Base>, Q: InvocationMethod<'a, Key, Base>, Key: Debug + Ord, Base: Any