pub trait SynapseExternal<T, C>{
// Required methods
fn neuron(&self) -> Arc<dyn Neuron<T, C> + Send + Sync>;
fn transduce(
&self,
payload: Arc<PayloadRaw<T, C>>,
) -> impl Future<Output = Result<(Vec<()>, Vec<()>), SynapseError>> + Send + 'static;
fn transmit(
&self,
payload: Arc<PayloadRaw<T, C>>,
) -> impl Future<Output = Result<(Vec<()>, Vec<()>), SynapseError>> + Send + 'static;
fn react(
&mut self,
reactants: Vec<Arc<dyn Reactant<T, C> + Send + Sync>>,
raw_reactants: Vec<Arc<dyn ReactantRaw<T, C> + Send + Sync>>,
error_reactants: Vec<Arc<dyn ErrorReactant<T, C> + Send + Sync>>,
) -> Result<(), SynapseError>;
}Required Methods§
fn neuron(&self) -> Arc<dyn Neuron<T, C> + Send + Sync>
fn transduce( &self, payload: Arc<PayloadRaw<T, C>>, ) -> impl Future<Output = Result<(Vec<()>, Vec<()>), SynapseError>> + Send + 'static
fn transmit( &self, payload: Arc<PayloadRaw<T, C>>, ) -> impl Future<Output = Result<(Vec<()>, Vec<()>), SynapseError>> + Send + 'static
fn react( &mut self, reactants: Vec<Arc<dyn Reactant<T, C> + Send + Sync>>, raw_reactants: Vec<Arc<dyn ReactantRaw<T, C> + Send + Sync>>, error_reactants: Vec<Arc<dyn ErrorReactant<T, C> + Send + Sync>>, ) -> Result<(), SynapseError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.