1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#[macro_use]
extern crate prometheus;
extern crate rdkafka;
extern crate log;
extern crate nitox;
#[macro_use]
extern crate lazy_static;
extern crate failure;
#[macro_use]
extern crate failure_derive;

use futures::Stream;
use std::io;

mod error; 
mod standard;
mod kafka;
mod nats;

pub use self::error::*;
pub use standard::{StdinInput, StdoutOutput};
pub use kafka::{KafkaInput, KafkaOutput};
pub use nats::{NatsOutput, NatsInput};

pub trait InputChannel{
    fn start(&self) -> Result<Box<Stream<Item=String, Error = io::Error>>, DashPipeError>;
}

pub trait OutputChannel{
    fn send(&self, msg: String);
}