use core::fmt::Debug;
use iceoryx2_bb_elementary_traits::testing::abandonable::Abandonable;
use iceoryx2_cal::shm_allocator::bump_allocator::BumpAllocator;
use iceoryx2_cal::shm_allocator::pool_allocator::PoolAllocator;
use iceoryx2_cal::*;
#[derive(Debug, Clone)]
pub struct Service {}
impl crate::service::Service for Service {
type StaticStorage = static_storage::recommended::Ipc;
type ConfigSerializer = serialize::recommended::Recommended;
type PersistentDynamicStorage<T: Debug + Send + Sync + 'static> =
dynamic_storage::recommended::PersistentIpc<T>;
type DynamicStorage<T: Debug + Send + Sync + 'static> = dynamic_storage::recommended::Ipc<T>;
type ServiceNameHasher = hash::recommended::Recommended;
type SharedMemory = shared_memory::recommended::Ipc<PoolAllocator>;
type ResizableSharedMemory = resizable_shared_memory::recommended::Ipc<PoolAllocator>;
type Connection = zero_copy_connection::recommended::Ipc;
type Event = event::recommended::Ipc;
type Monitoring = monitoring::recommended::Ipc;
type Reactor = reactor::recommended::Ipc;
type ArcThreadSafetyPolicy<T: Send + Debug + Abandonable> =
arc_sync_policy::single_threaded::SingleThreaded<T>;
type BlackboardMgmt<KeyType: Send + Sync + Debug + 'static> =
dynamic_storage::recommended::Ipc<KeyType>;
type BlackboardPayload = shared_memory::recommended::Ipc<BumpAllocator>;
}
impl crate::service::internal::ServiceInternal<Service> for Service {}