[−][src]Struct streamson_lib::collector::Collector
Processes data from input and triggers handlers
Implementations
impl Collector
[src]
pub fn new() -> Self
[src]
Creates new collector
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>>]
)
Returns a Collector
with extended matcher and handlers
Arguments
matcher
- matcher which matches the pathhandlers
- list of handlers to be triggers when path matches
Example
use streamson_lib::{Collector, matcher, handler}; use std::sync::{Arc, Mutex}; let mut collector = Collector::new(); let handler = handler::PrintLn::new(); let matcher = matcher::Simple::new(r#"{"list"}[]"#).unwrap(); let mut collector = Collector::new(); collector.add_matcher( Box::new(matcher), &[Arc::new(Mutex::new(handler))] );
pub fn process(&mut self, input: &[u8]) -> Result<bool, General>
[src]
Processes input data
Arguments
input
- input data
Returns
Ok(true)
- All data successfully processedOk(false)
- Data were processed, but another input is requiredErr(_)
- error occured during processing
Example
use streamson_lib::Collector; let mut collector = Collector::new(); collector.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 splitted without an error. This is caused because streamson does not validate JSON.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Collector
impl Send for Collector
impl !Sync for Collector
impl Unpin for Collector
impl !UnwindSafe for Collector
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,
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.
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>,