use zenoh::{key_expr::KeyExpr, session::Session, Error};
#[allow(deprecated)]
use super::PublicationCacheBuilder;
#[zenoh_macros::unstable]
#[allow(deprecated)]
pub trait SessionExt {
#[deprecated = "Use `AdvancedPublisher` and `AdvancedSubscriber` instead."]
#[zenoh_macros::unstable]
fn declare_publication_cache<'a, 'b, 'c, TryIntoKeyExpr>(
&'a self,
pub_key_expr: TryIntoKeyExpr,
) -> PublicationCacheBuilder<'a, 'b, 'c>
where
TryIntoKeyExpr: TryInto<KeyExpr<'b>>,
<TryIntoKeyExpr as TryInto<KeyExpr<'b>>>::Error: Into<Error>;
}
#[allow(deprecated)]
impl SessionExt for Session {
#[zenoh_macros::unstable]
fn declare_publication_cache<'a, 'b, 'c, TryIntoKeyExpr>(
&'a self,
pub_key_expr: TryIntoKeyExpr,
) -> PublicationCacheBuilder<'a, 'b, 'c>
where
TryIntoKeyExpr: TryInto<KeyExpr<'b>>,
<TryIntoKeyExpr as TryInto<KeyExpr<'b>>>::Error: Into<Error>,
{
PublicationCacheBuilder::new(self, pub_key_expr.try_into().map_err(Into::into))
}
}