pub struct DefaultDispatcher { /* private fields */ }Expand description
Default implementation of the Dispatcher trait
Implementations§
Source§impl DefaultDispatcher
impl DefaultDispatcher
Sourcepub fn with_registries(
connector_registry: ConnectorRegistry,
type_registry: DataObjectTypeRegistry,
) -> Self
pub fn with_registries( connector_registry: ConnectorRegistry, type_registry: DataObjectTypeRegistry, ) -> Self
Create a dispatcher with existing registries
Trait Implementations§
Source§impl Default for DefaultDispatcher
impl Default for DefaultDispatcher
Source§impl Dispatcher for DefaultDispatcher
impl Dispatcher for DefaultDispatcher
Source§fn register_connector<'life0, 'life1, 'async_trait>(
&'life0 mut self,
object_type: &'life1 str,
connector: Box<dyn Connector>,
) -> Pin<Box<dyn Future<Output = NirvResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_connector<'life0, 'life1, 'async_trait>(
&'life0 mut self,
object_type: &'life1 str,
connector: Box<dyn Connector>,
) -> Pin<Box<dyn Future<Output = NirvResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Register a connector for a specific data object type
Source§fn route_query<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 InternalQuery,
) -> Pin<Box<dyn Future<Output = NirvResult<Vec<ConnectorQuery>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn route_query<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 InternalQuery,
) -> Pin<Box<dyn Future<Output = NirvResult<Vec<ConnectorQuery>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Route a query to appropriate connectors based on data object types
Source§fn execute_distributed_query<'life0, 'async_trait>(
&'life0 self,
queries: Vec<ConnectorQuery>,
) -> Pin<Box<dyn Future<Output = NirvResult<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_distributed_query<'life0, 'async_trait>(
&'life0 self,
queries: Vec<ConnectorQuery>,
) -> Pin<Box<dyn Future<Output = NirvResult<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute a distributed query across multiple connectors
Source§fn list_available_types(&self) -> Vec<String>
fn list_available_types(&self) -> Vec<String>
List all available data object types
Source§fn is_type_registered(&self, object_type: &str) -> bool
fn is_type_registered(&self, object_type: &str) -> bool
Check if a data object type is registered
Auto Trait Implementations§
impl Freeze for DefaultDispatcher
impl !RefUnwindSafe for DefaultDispatcher
impl Send for DefaultDispatcher
impl Sync for DefaultDispatcher
impl Unpin for DefaultDispatcher
impl !UnwindSafe for DefaultDispatcher
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