Skip to main content

StorageLayout

Trait StorageLayout 

Source
pub trait StorageLayout {
Show 37 associated items type Routes: RouteTable + Default; type RouteExpiries: RouteExpiryIndex; type DestinationIdentities: DestinationIdentityTable + Default; type DestinationIdentityAppData: AnnounceAppData + Default; type Announces: AnnounceRecordTable + Default; type History: AnnounceIdHistory + Default; type AppData: AnnounceAppData + Default; type ScheduledAnnounces: ScheduledAnnounceQueue + Default; type UpstreamAppDestinations: UpstreamAppDestinationTable + Default; type HeldIdentities: HeldIdentityTable + Default; type SelfRatchets: SelfRatchetTable + Default; type Receipts: ReceiptTable + Default; type PacketHashes: PacketHashHistory + Default; type Blackholes: BlackholeTable + Default; type ReverseRoutes: ReverseRouteTable + Default; type PendingPathRequests: PendingPathRequestTable + Default; type RecentPathRequests: RecentPathRequestTable + Default; type SeenPathRequests: SeenPathRequestTable + Default; type Tunnels: TunnelTable + Default; type DepartedInterfaces: DepartedInterfaceTable + Default; type RecursivePathRequests: RecursivePathRequestTable + Default; type InterfacePathRequestLimits: InterfacePathRequestLimitTable + Default; type InterfaceAnnounceLimits: InterfaceAnnounceLimitTable + Default; type HeldAnnounces: HeldAnnounceTable + Default; type HeldAnnounceAppData: AnnounceAppData + Default; type DestinationAnnounceLimits: DestinationAnnounceLimitTable + Default; type GroupKeys: GroupKeyTable + Default; type RequestHandlers: RequestHandlerTable + Default; type TransportedLinks: TransportedLinkTable + Default; type Links: LinkTable + Default; type OutgoingResources: ResourceTable<OutgoingResourceState> + Default; type IncomingResources: ResourceTable<IncomingResourceState> + Default; type IncomingAssemblies: IncomingAssemblyTable + Default; type OutgoingAssemblies: OutgoingAssemblyTable + Default; type Channels: ChannelTable + Default; type DirtyInterfaces: DirtyInterfaceSet + Default; const LIMITS: DisplayedStorageLimits;
}

Required Associated Constants§

Required Associated Types§

Source

type Routes: RouteTable + Default

Source

type RouteExpiries: RouteExpiryIndex

Source

type DestinationIdentities: DestinationIdentityTable + Default

Source

type DestinationIdentityAppData: AnnounceAppData + Default

Source

type Announces: AnnounceRecordTable + Default

Source

type History: AnnounceIdHistory + Default

Source

type AppData: AnnounceAppData + Default

Source

type ScheduledAnnounces: ScheduledAnnounceQueue + Default

Source

type UpstreamAppDestinations: UpstreamAppDestinationTable + Default

Source

type HeldIdentities: HeldIdentityTable + Default

Source

type SelfRatchets: SelfRatchetTable + Default

Source

type Receipts: ReceiptTable + Default

Source

type PacketHashes: PacketHashHistory + Default

Source

type Blackholes: BlackholeTable + Default

Source

type ReverseRoutes: ReverseRouteTable + Default

Source

type PendingPathRequests: PendingPathRequestTable + Default

Source

type RecentPathRequests: RecentPathRequestTable + Default

Source

type SeenPathRequests: SeenPathRequestTable + Default

Source

type Tunnels: TunnelTable + Default

Source

type DepartedInterfaces: DepartedInterfaceTable + Default

Source

type RecursivePathRequests: RecursivePathRequestTable + Default

Source

type InterfacePathRequestLimits: InterfacePathRequestLimitTable + Default

Source

type InterfaceAnnounceLimits: InterfaceAnnounceLimitTable + Default

Source

type HeldAnnounces: HeldAnnounceTable + Default

Source

type HeldAnnounceAppData: AnnounceAppData + Default

Source

type DestinationAnnounceLimits: DestinationAnnounceLimitTable + Default

Source

type GroupKeys: GroupKeyTable + Default

Source

type RequestHandlers: RequestHandlerTable + Default

Source

type OutgoingResources: ResourceTable<OutgoingResourceState> + Default

Source

type IncomingResources: ResourceTable<IncomingResourceState> + Default

Source

type IncomingAssemblies: IncomingAssemblyTable + Default

Source

type OutgoingAssemblies: OutgoingAssemblyTable + Default

Source

type Channels: ChannelTable + Default

Source

type DirtyInterfaces: DirtyInterfaceSet + Default

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl StorageLayout for GrowableHeap

Source§

const LIMITS: DisplayedStorageLimits

Source§

type Routes = HeapRouteTableWithInterfaceIndex<RoaringRouteInterfaceIndex>

Source§

type RouteExpiries = RoaringRouteExpiryIndex

Source§

type DestinationIdentities = HeapDestinationIdentityTable

Source§

type DestinationIdentityAppData = HeapAnnounceAppData

Source§

type Announces = HeapAnnounceRecordTable

Source§

type History = HeapAnnounceIdHistory

Source§

type AppData = HeapAnnounceAppData

Source§

type ScheduledAnnounces = HeapScheduledAnnounceQueue

Source§

type UpstreamAppDestinations = HeapUpstreamAppDestinationTable

Source§

type HeldIdentities = HeapHeldIdentityTable

Source§

type SelfRatchets = HeapSelfRatchetTable

Source§

type Receipts = HeapReceiptTable

Source§

type PacketHashes = HeapPacketHashHistory

Source§

type Blackholes = HeapBlackholeTable

Source§

type ReverseRoutes = HeapReverseRouteTable

Source§

type DepartedInterfaces = HeapDepartedInterfaceTable

Source§

type PendingPathRequests = HeapPendingPathRequestTable

Source§

type RecentPathRequests = HeapRecentPathRequestTable

Source§

type SeenPathRequests = HeapSeenPathRequestTable

Source§

type Tunnels = HeapTunnelTable

Source§

type RecursivePathRequests = HeapRecursivePathRequestTable

Source§

type InterfacePathRequestLimits = HeapInterfacePathRequestLimitTable

Source§

type InterfaceAnnounceLimits = HeapInterfaceAnnounceLimitTable

Source§

type HeldAnnounces = HeapHeldAnnounceTable

Source§

type HeldAnnounceAppData = HeapAnnounceAppData

Source§

type DestinationAnnounceLimits = HeapDestinationAnnounceLimitTable

Source§

type GroupKeys = HeapGroupKeyTable

Source§

type RequestHandlers = HeapRequestHandlerTable

Source§

type OutgoingResources = HeapResourceTable<OutgoingResourceState>

Source§

type IncomingResources = HeapResourceTable<IncomingResourceState>

Source§

type IncomingAssemblies = HeapIncomingAssemblyTable

Source§

type OutgoingAssemblies = HeapOutgoingAssemblyTable

Source§

type Channels = HeapChannelTable

Source§

type DirtyInterfaces = BTreeSet<InterfaceId>

Source§

impl<A, const MAX_REQUEST_HANDLERS: usize> StorageLayout for Esp32S3<A, MAX_REQUEST_HANDLERS>
where A: Allocator + Default,

Source§

const LIMITS: DisplayedStorageLimits

Source§

type Routes = FixedHeapRouteTable<prns_core::::storage::impls::esp32s3::{impl#2}::Routes::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::Routes::{constant#1}, A>

Source§

type RouteExpiries = LinearRouteExpiryIndex

Source§

type DestinationIdentities = NoDestinationIdentityTable

Source§

type DestinationIdentityAppData = NoDestinationIdentityAppData

Source§

type Announces = FixedHeapAnnounceRecordTable<prns_core::::storage::impls::esp32s3::{impl#2}::Announces::{constant#0}, A>

Source§

type History = FixedHeapAnnounceIdHistory<prns_core::::storage::impls::esp32s3::{impl#2}::History::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::History::{constant#1}, A>

Source§

type AppData = FixedHeapPackedAppDataArena<prns_core::::storage::impls::esp32s3::{impl#2}::AppData::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::AppData::{constant#1}, A>

Source§

type ScheduledAnnounces = FixedHeapScheduledAnnounceQueue<prns_core::::storage::impls::esp32s3::{impl#2}::ScheduledAnnounces::{constant#0}, A>

Source§

type UpstreamAppDestinations = FixedUpstreamAppDestinationTable<prns_core::::storage::impls::esp32s3::{impl#2}::UpstreamAppDestinations::{constant#0}>

Source§

type HeldIdentities = FixedHeldIdentityTable<prns_core::::storage::impls::esp32s3::{impl#2}::HeldIdentities::{constant#0}>

Source§

type SelfRatchets = FixedSelfRatchetTable<prns_core::::storage::impls::esp32s3::{impl#2}::SelfRatchets::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::SelfRatchets::{constant#1}>

Source§

type Receipts = FixedReceiptTable<prns_core::::storage::impls::esp32s3::{impl#2}::Receipts::{constant#0}>

Source§

type PacketHashes = FixedPacketHashHistory<prns_core::::storage::impls::esp32s3::{impl#2}::PacketHashes::{constant#0}>

Source§

type Blackholes = FixedHeapBlackholeTable<prns_core::::storage::impls::esp32s3::{impl#2}::Blackholes::{constant#1}, prns_core::::storage::impls::esp32s3::{impl#2}::Blackholes::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::Blackholes::{constant#2}, A>

Source§

type ReverseRoutes = FixedReverseRouteTable<prns_core::::storage::impls::esp32s3::{impl#2}::ReverseRoutes::{constant#0}>

Source§

type DepartedInterfaces = FixedDepartedInterfaceTable<16>

Source§

type PendingPathRequests = FixedPendingPathRequestTable<prns_core::::storage::impls::esp32s3::{impl#2}::PendingPathRequests::{constant#0}>

Source§

type RecentPathRequests = FixedRecentPathRequestTable<8>

Source§

type SeenPathRequests = FixedSeenPathRequestTable<8>

Source§

type Tunnels = FixedTunnelTable<0>

Source§

type RecursivePathRequests = FixedRecursivePathRequestTable<8>

Source§

type InterfacePathRequestLimits = FixedInterfacePathRequestLimitTable<8>

Source§

type InterfaceAnnounceLimits = FixedInterfaceAnnounceLimitTable<8>

Source§

type DirtyInterfaces = Vec<InterfaceId, 8>

Source§

type HeldAnnounces = SoaHeldAnnounceTable<FixedHeapSoaColumns<prns_core::::storage::impls::esp32s3::{impl#2}::HeldAnnounces::{constant#0}, A>>

Source§

type HeldAnnounceAppData = FixedHeapPackedAppDataArena<65536, prns_core::::storage::impls::esp32s3::{impl#2}::HeldAnnounceAppData::{constant#1}, A>

Source§

type DestinationAnnounceLimits = FixedHeapDestinationAnnounceLimitTable<prns_core::::storage::impls::esp32s3::{impl#2}::DestinationAnnounceLimits::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::DestinationAnnounceLimits::{constant#1}, A>

Source§

type GroupKeys = FixedGroupKeyTable<prns_core::::storage::impls::esp32s3::{impl#2}::GroupKeys::{constant#0}>

Source§

type RequestHandlers = FixedRequestHandlerTable<MAX_REQUEST_HANDLERS>

Source§

type OutgoingResources = FixedHeapResourceTable<OutgoingResourceState, 1, prns_core::::storage::impls::esp32s3::{impl#2}::OutgoingResources::{constant#1}, prns_core::::storage::impls::esp32s3::{impl#2}::OutgoingResources::{constant#2}, A>

Source§

type IncomingResources = FixedHeapResourceTable<IncomingResourceState, 1, prns_core::::storage::impls::esp32s3::{impl#2}::IncomingResources::{constant#1}, prns_core::::storage::impls::esp32s3::{impl#2}::IncomingResources::{constant#2}, A>

Source§

type IncomingAssemblies = FixedIncomingAssemblyTable<prns_core::::storage::impls::esp32s3::{impl#2}::IncomingAssemblies::{constant#0}>

Source§

type OutgoingAssemblies = FixedStaticOutgoingAssemblyTable<prns_core::::storage::impls::esp32s3::{impl#2}::OutgoingAssemblies::{constant#0}>

Source§

type Channels = FixedHeapChannelTable<prns_core::::storage::impls::esp32s3::{impl#2}::Channels::{constant#0}, prns_core::::storage::impls::esp32s3::{impl#2}::Channels::{constant#1}, prns_core::::storage::impls::esp32s3::{impl#2}::Channels::{constant#2}, prns_core::::storage::impls::esp32s3::{impl#2}::Channels::{constant#3}, A>