Trait uavcan::storage::Storage[][src]

pub trait Storage<F: TransferFrame> {
    type SubscriberStorageHandle: SubscriberStorageHandle<F>;
    type InterfaceStorageHandle: InterfaceStorageHandle<F>;
    fn new() -> Self;
fn subscribe_to(
        &self,
        filter: TransferFrameIDFilter
    ) -> Self::SubscriberStorageHandle;
fn new_interface(&self) -> Self::InterfaceStorageHandle;
fn insert_subscriber_queue(&self, frame: F) -> Result<(), StorageError>;
fn insert_interface_queue(&self, frame: F) -> Result<(), StorageError>; }

Associated Types

Required Methods

Create a new storage container.

Create a subscription on all frames matching a filter.

Creates an interface queue for a new interface.

Insert a frame to storage and route it to the correct subscribers.

If there are no relevant subscribers frame will be dropped. If there are multiple relevant subscribers frame will be routed to all of them.

Insert a frame to storage and route it to the interface for transmission.

If there are multiple interface storage queues the frame will be added to all of them.

Implementors