use std::time::Instant as StdInstant;
use mdns_proto::{
CollectedAnswer,
cache::CacheEntry,
endpoint::{Endpoint, EndpointEventEntry, ServiceRoute},
event::{QueryUpdate, ServiceUpdate},
query::Query,
service::Service,
transmit::Transmit,
};
use rand::rngs::StdRng;
use slab::Slab;
pub(crate) type ProtoQuery = Query<StdInstant, Slab<CollectedAnswer>, Slab<QueryUpdate>>;
pub(crate) type ProtoService = Service<StdInstant, Slab<Transmit>, Slab<ServiceUpdate>>;
pub(crate) type ProtoEndpoint = Endpoint<
StdInstant,
StdRng,
Slab<CacheEntry<StdInstant>>,
Slab<ServiceRoute>,
Slab<ProtoQuery>,
Slab<EndpointEventEntry>,
Slab<CollectedAnswer>,
Slab<QueryUpdate>,
>;