#[cfg(any(feature = "alloc", feature = "std"))]
mod imp {
pub(crate) use bytes::Bytes as RdataBuf;
pub(crate) use std::sync::Arc as Shared;
pub(crate) fn rdata_from_vec(v: std::vec::Vec<u8>) -> RdataBuf {
RdataBuf::from(v)
}
}
#[cfg(all(feature = "no-atomic", not(any(feature = "alloc", feature = "std"))))]
mod imp {
pub(crate) use portable_atomic_util::Arc as Shared;
pub(crate) type RdataBuf = portable_atomic_util::Arc<[u8]>;
pub(crate) fn rdata_from_vec(v: std::vec::Vec<u8>) -> RdataBuf {
RdataBuf::from(v)
}
}
cfg_heap! {
pub(crate) use imp::{RdataBuf, Shared, rdata_from_vec};
}