pub struct ComponentGraphBootstrapProvider { /* private fields */ }Expand description
Bootstrap provider that generates data from the component graph
Bootstrap provider that generates a consistent snapshot from the ComponentGraph.
Takes a single read lock on the graph, iterates all nodes and edges, and
translates them into SourceChange::Insert elements. This replaces the
previous approach of querying three separate managers independently.
Implementations§
Source§impl ComponentGraphBootstrapProvider
impl ComponentGraphBootstrapProvider
pub fn new(graph: Arc<RwLock<ComponentGraph>>) -> Self
Trait Implementations§
Source§impl BootstrapProvider for ComponentGraphBootstrapProvider
impl BootstrapProvider for ComponentGraphBootstrapProvider
Source§fn bootstrap<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
request: BootstrapRequest,
_context: &'life1 BootstrapContext,
event_tx: BootstrapEventSender,
_settings: Option<&'life2 SourceSubscriptionSettings>,
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn bootstrap<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
request: BootstrapRequest,
_context: &'life1 BootstrapContext,
event_tx: BootstrapEventSender,
_settings: Option<&'life2 SourceSubscriptionSettings>,
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Perform bootstrap operation for the given request
Sends bootstrap events to the provided channel
Returns the number of elements sent Read more
Auto Trait Implementations§
impl Freeze for ComponentGraphBootstrapProvider
impl !RefUnwindSafe for ComponentGraphBootstrapProvider
impl Send for ComponentGraphBootstrapProvider
impl Sync for ComponentGraphBootstrapProvider
impl Unpin for ComponentGraphBootstrapProvider
impl UnsafeUnpin for ComponentGraphBootstrapProvider
impl !UnwindSafe for ComponentGraphBootstrapProvider
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