[−][src]Struct streamson_lib::strategy::trigger::Trigger
Processes data from input and triggers handlers
Implementations
impl Trigger
[src]
pub fn new() -> Self
[src]
Creates a new Trigger
It collects matched data and triggers handlers when entire data are read.
pub fn add_matcher(
&mut self,
matcher: Box<dyn MatchMaker>,
handlers: &[Arc<Mutex<dyn Handler>>]
)
[src]
&mut self,
matcher: Box<dyn MatchMaker>,
handlers: &[Arc<Mutex<dyn Handler>>]
)
Adds a mathcher and a handler to Trigger
Arguments
matcher
- matcher which matches the pathhandlers
- list of handlers to be triggers when path matches
Example
use streamson_lib::{strategy, matcher, handler}; use std::sync::{Arc, Mutex}; let mut trigger = strategy::Trigger::new(); let handler = handler::PrintLn::new(); let matcher = matcher::Simple::new(r#"{"list"}[]"#).unwrap(); trigger.add_matcher( Box::new(matcher), &[Arc::new(Mutex::new(handler))] );
pub fn process(&mut self, input: &[u8]) -> Result<(), General>
[src]
Processes input data
Arguments
input
- input data
Returns
- `Ok(()) processing passed, more data might be needed
Err(_)
- error occured during processing
Example
use streamson_lib::strategy; let mut trigger = strategy::Trigger::new(); trigger.process(br#"{}"#);
Errors
If parsing logic finds that JSON is not valid,
it returns error::General
.
Note that streamson assumes that its input is a valid JSONs and if not, it still might be processed without an error. This is caused because streamson does not validate JSON.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Trigger
impl Send for Trigger
impl !Sync for Trigger
impl Unpin for Trigger
impl !UnwindSafe for Trigger
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,