pub trait DeviceProvider: Send + Sync {
// Required methods
fn enumerate(&self) -> Result<Vec<DeviceRecord>>;
fn open(&self, id: &Symbol) -> Result<Box<dyn StreamEvalSite>>;
}Expand description
Provider of cataloged stream devices.
Required Methods§
Sourcefn enumerate(&self) -> Result<Vec<DeviceRecord>>
fn enumerate(&self) -> Result<Vec<DeviceRecord>>
Enumerates devices owned by this provider.
Sourcefn open(&self, id: &Symbol) -> Result<Box<dyn StreamEvalSite>>
fn open(&self, id: &Symbol) -> Result<Box<dyn StreamEvalSite>>
Opens one provider-owned device by catalog id.
This is provider-level dispatch for an already checked catalog row.
Public catalog opens should use
DeviceCatalog::open_checked.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".