use zenoh::pubsub::PublisherBuilder;
use crate::{advanced_cache::CacheConfig, AdvancedPublisherBuilder, MissDetectionConfig};
#[zenoh_macros::unstable]
pub trait AdvancedPublisherBuilderExt<'a, 'b, 'c> {
#[zenoh_macros::unstable]
fn cache(self, config: CacheConfig) -> AdvancedPublisherBuilder<'a, 'b, 'c>;
#[zenoh_macros::unstable]
fn sample_miss_detection(
self,
config: MissDetectionConfig,
) -> AdvancedPublisherBuilder<'a, 'b, 'c>;
#[zenoh_macros::unstable]
fn publisher_detection(self) -> AdvancedPublisherBuilder<'a, 'b, 'c>;
#[zenoh_macros::unstable]
fn advanced(self) -> AdvancedPublisherBuilder<'a, 'b, 'c>;
}
#[zenoh_macros::unstable]
impl<'a, 'b, 'c> AdvancedPublisherBuilderExt<'a, 'b, 'c> for PublisherBuilder<'a, 'b> {
#[zenoh_macros::unstable]
fn cache(self, config: CacheConfig) -> AdvancedPublisherBuilder<'a, 'b, 'c> {
AdvancedPublisherBuilder::new(self).cache(config)
}
#[zenoh_macros::unstable]
fn sample_miss_detection(
self,
config: MissDetectionConfig,
) -> AdvancedPublisherBuilder<'a, 'b, 'c> {
AdvancedPublisherBuilder::new(self).sample_miss_detection(config)
}
#[zenoh_macros::unstable]
fn publisher_detection(self) -> AdvancedPublisherBuilder<'a, 'b, 'c> {
AdvancedPublisherBuilder::new(self).publisher_detection()
}
#[zenoh_macros::unstable]
fn advanced(self) -> AdvancedPublisherBuilder<'a, 'b, 'c> {
AdvancedPublisherBuilder::new(self)
}
}