use derive_builder::Builder;
use fluvio::FluvioConfig;
pub use fluvio::consumer::{ConsumerConfigExt, ConsumerConfigExtBuilder};
mod loader;
#[derive(Debug, Clone, Builder)]
#[builder(setter(into, strip_option))]
pub struct Fluvio {
consumer_config_ext: ConsumerConfigExt,
#[builder(default, setter(custom))]
fluvio_config: Option<FluvioConfig>,
}
impl Fluvio {
pub fn from_consumer_config(config: impl Into<ConsumerConfigExt>) -> Fluvio {
Fluvio {
consumer_config_ext: config.into(),
fluvio_config: None,
}
}
pub fn builder() -> FluvioBuilder {
FluvioBuilder::default()
}
}
impl FluvioBuilder {
pub fn fluvio_config(&mut self, config: &FluvioConfig) -> &mut Self {
self.fluvio_config = Some(Some(config.to_owned()));
self
}
}