Trait puffin::protocol::ExtractKnowledge
source · pub trait ExtractKnowledge<M: Matcher>: Debug {
fn extract_knowledge(
&self,
knowledges: &mut Vec<Knowledge<M>>,
matcher: Option<M>,
source: &Source
) -> Result<(), Error>;
}
Expand description
Provide a way to extract knowledge out of a Message/OpaqueMessage or any type that might be used in a precomputation
Required Methods§
sourcefn extract_knowledge(
&self,
knowledges: &mut Vec<Knowledge<M>>,
matcher: Option<M>,
source: &Source
) -> Result<(), Error>
fn extract_knowledge(
&self,
knowledges: &mut Vec<Knowledge<M>>,
matcher: Option<M>,
source: &Source
) -> Result<(), Error>
Fill knowledges
with new knowledge gathered form the type implementing ExtractKnowledge
by recursively calling extract_knowledge on all contained element
This will put source as the source of all the produced knowledges, matcher is also passed
recursively but might be overriten by a type with a more specific matcher