Trait streamson_lib::handler::Handler[][src]

pub trait Handler: Send {
    fn as_any(&self) -> &dyn Any;

    fn start(
        &mut self,
        _path: &Path,
        _matcher_idx: usize,
        _token: Token
    ) -> Result<Option<Vec<u8>>, Handler> { ... }
fn feed(
        &mut self,
        _data: &[u8],
        _matcher_idx: usize
    ) -> Result<Option<Vec<u8>>, Handler> { ... }
fn end(
        &mut self,
        _path: &Path,
        _matcher_idx: usize,
        _token: Token
    ) -> Result<Option<Vec<u8>>, Handler> { ... }
fn is_converter(&self) -> bool { ... } }

Common handler trait

Required methods

fn as_any(&self) -> &dyn Any[src]

Function to allow downcasting

Loading content...

Provided methods

fn start(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

Is called when a path is matched

Arguments

  • path - path which was matched
  • matcher_idx- idx of matcher which was used
  • token - further info about matched data

Returns

  • Ok(None) - All went well, no output
  • Ok(Some(data)) - All went, handler has some output
  • Err(_) - Failed to execute handler

fn feed(
    &mut self,
    _data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

Is called when handler receives some data

Arguments

  • data - a part of matched data
  • matcher_idx- idx of matcher which was used

Returns

  • Ok(None) - All went well, no output
  • Ok(Some(data)) - All went, handler has some output
  • Err(_) - Failed to execute handler

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

Is called when the path is no longer matched

Arguments

  • path - path which was matched
  • matcher_idx- idx of matcher which was used
  • token - further info about matched data

Returns

  • Ok(None) - All went well, no data conversion needed
  • Ok(Some(data)) - All went well, data converted
  • Err(_) - Failed to execute handler

fn is_converter(&self) -> bool[src]

Should be handler used to convert data

Loading content...

Implementors

impl Handler for Analyser[src]

fn start(
    &mut self,
    path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Buffer[src]

fn start(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn feed(
    &mut self,
    data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Group[src]

fn start(
    &mut self,
    path: &Path,
    matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn feed(
    &mut self,
    data: &[u8],
    matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    path: &Path,
    matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn is_converter(&self) -> bool[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Indenter[src]

fn start(
    &mut self,
    path: &Path,
    _matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn feed(
    &mut self,
    data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn is_converter(&self) -> bool[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Indexer[src]

fn start(
    &mut self,
    path: &Path,
    _matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    path: &Path,
    matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Regex[src]

fn feed(
    &mut self,
    data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn is_converter(&self) -> bool[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Replace[src]

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn is_converter(&self) -> bool[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Shorten[src]

fn start(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn feed(
    &mut self,
    data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn is_converter(&self) -> bool[src]

fn as_any(&self) -> &dyn Any[src]

impl Handler for Unstringify[src]

fn start(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn feed(
    &mut self,
    data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn is_converter(&self) -> bool[src]

fn as_any(&self) -> &dyn Any[src]

impl<W> Handler for Output<W> where
    W: Write + Send + 'static, 
[src]

fn start(
    &mut self,
    path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn feed(
    &mut self,
    data: &[u8],
    _matcher_idx: usize
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn end(
    &mut self,
    _path: &Path,
    _matcher_idx: usize,
    _token: Token
) -> Result<Option<Vec<u8>>, Handler>
[src]

fn as_any(&self) -> &dyn Any[src]

Loading content...