pub struct DriverRegistry<Context: Send + Sync> { /* private fields */ }Implementations§
Source§impl<Context: Send + Sync> DriverRegistry<Context>
impl<Context: Send + Sync> DriverRegistry<Context>
pub fn new() -> Self
Sourcepub fn register(
&mut self,
driver: Arc<dyn WorkflowDriver<Context>>,
) -> Result<&mut Self, String>
pub fn register( &mut self, driver: Arc<dyn WorkflowDriver<Context>>, ) -> Result<&mut Self, String>
Register a driver. Duplicate spec ownership is a startup error because dispatch must never depend on registration order.
pub fn spec_ids(&self) -> Vec<String>
pub fn for_spec( &self, spec_id: &str, ) -> Option<&Arc<dyn WorkflowDriver<Context>>>
pub fn names(&self) -> Vec<&'static str>
pub fn is_empty(&self) -> bool
pub fn validate_all(&self) -> Result<(), String>
Trait Implementations§
Auto Trait Implementations§
impl<Context> !RefUnwindSafe for DriverRegistry<Context>
impl<Context> !UnwindSafe for DriverRegistry<Context>
impl<Context> Freeze for DriverRegistry<Context>where
Vec<Arc<dyn WorkflowDriver<Context>>>: Freeze,
HashMap<&'static str, Arc<dyn WorkflowDriver<Context>>>: Freeze,
impl<Context> Send for DriverRegistry<Context>where
Vec<Arc<dyn WorkflowDriver<Context>>>: Send,
HashMap<&'static str, Arc<dyn WorkflowDriver<Context>>>: Send,
impl<Context> Sync for DriverRegistry<Context>where
Vec<Arc<dyn WorkflowDriver<Context>>>: Sync,
HashMap<&'static str, Arc<dyn WorkflowDriver<Context>>>: Sync,
impl<Context> Unpin for DriverRegistry<Context>where
Vec<Arc<dyn WorkflowDriver<Context>>>: Unpin,
HashMap<&'static str, Arc<dyn WorkflowDriver<Context>>>: Unpin,
impl<Context> UnsafeUnpin for DriverRegistry<Context>where
Vec<Arc<dyn WorkflowDriver<Context>>>: UnsafeUnpin,
HashMap<&'static str, Arc<dyn WorkflowDriver<Context>>>: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more