pub trait OptionExt {
type AdminClient: FromClientConfig;
// Required methods
fn create_topic<'a, 'life0, 'async_trait, I>(
&'life0 self,
topics: I
) -> Pin<Box<dyn Future<Output = KWResult<()>> + Send + 'async_trait>>
where I: IntoIterator<Item = &'a NewTopic<'a>> + Send + 'async_trait,
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait;
fn get_brokers(&self) -> &str;
fn get_log_level(&self) -> RDKafkaLogLevel;
fn get_admin_client<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = KWResult<Arc<AdminClient<DefaultClientContext>>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn create_admin_client(&self) -> KWResult<Self::AdminClient> { ... }
fn get_topics<'life0, 'async_trait, C>(
&'life0 self
) -> Pin<Box<dyn Future<Output = KWResult<Vec<MetadataTopicWrap>>> + Send + 'async_trait>>
where C: 'async_trait + ClientContext,
Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}