Skip to main content

QueueFactory

Trait QueueFactory 

Source
pub trait QueueFactory:
    Send
    + Sync
    + Debug {
    type Queue: HardwareQueue;
    type Signal: TimelineSignal;

    // Required methods
    fn create_compute_queue(&self) -> Result<Self::Queue>;
    fn create_copy_queue(&self) -> Result<Option<Self::Queue>>;
    fn create_signal(&self) -> Result<Arc<Self::Signal>>;
    fn device(&self) -> &DeviceSpec;
}
Expand description

Factory for creating hardware queues.

Each device implementation provides a factory that creates queues for that device type.

Required Associated Types§

Source

type Queue: HardwareQueue

The queue type produced by this factory.

Source

type Signal: TimelineSignal

The signal type used by queues from this factory.

Required Methods§

Source

fn create_compute_queue(&self) -> Result<Self::Queue>

Create a new compute queue.

Source

fn create_copy_queue(&self) -> Result<Option<Self::Queue>>

Create a new copy/DMA queue if supported.

Returns None if the device doesn’t support separate copy queues.

Source

fn create_signal(&self) -> Result<Arc<Self::Signal>>

Create a new timeline signal.

Source

fn device(&self) -> &DeviceSpec

Get the device specification.

Implementors§