pub struct DeclaredBodySource { /* private fields */ }Expand description
Shared, install-once handle the dispatcher holds from construction and the boot path fills in once the engine exists.
Mirrors super::QueueDeclarationSource: the dispatcher is built before
the engine, so the seam it consults is handed over afterwards through a
clone of this handle rather than by rebuilding the dispatcher.
Implementations§
Source§impl DeclaredBodySource
impl DeclaredBodySource
Sourcepub fn install(&self, source: Arc<dyn DeclaredBodies>)
pub fn install(&self, source: Arc<dyn DeclaredBodies>)
Install the reader. A second install is ignored and logged: the source is process-wide and must not silently change identity.
Sourcepub fn body_for(
&self,
task_queue: &str,
action: &str,
run: DispatchingRun<'_>,
) -> DeclaredBodyLookup
pub fn body_for( &self, task_queue: &str, action: &str, run: DispatchingRun<'_>, ) -> DeclaredBodyLookup
Look up the declared body, or DeclaredBodyLookup::None when no
reader is installed yet.
An uninstalled consult is stated at ERROR before delegating to the
worker path, never silently: a dispatch can only reach this seam from
a live run, and a live run’s deploy is durable — so “nothing installed
yet” is a boot-ordering defect, not an empty catalog. This exact
silence was #266 Defect A: startup recovery replay re-dispatched
adopted in-flight declared-body activities before
install_engine_backed_seams filled this source, and every one fell
through here to a queue with no pollers and parked forever. The fix
(deferred startup recovery) removes the caller; this arm stays loud so
any future pre-install dispatch path names itself in the log instead
of stranding runs silently.
Trait Implementations§
Source§impl Clone for DeclaredBodySource
impl Clone for DeclaredBodySource
Source§fn clone(&self) -> DeclaredBodySource
fn clone(&self) -> DeclaredBodySource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DeclaredBodySource
impl Debug for DeclaredBodySource
Source§impl Default for DeclaredBodySource
impl Default for DeclaredBodySource
Source§fn default() -> DeclaredBodySource
fn default() -> DeclaredBodySource
Auto Trait Implementations§
impl !RefUnwindSafe for DeclaredBodySource
impl !UnwindSafe for DeclaredBodySource
impl Freeze for DeclaredBodySource
impl Send for DeclaredBodySource
impl Sync for DeclaredBodySource
impl Unpin for DeclaredBodySource
impl UnsafeUnpin for DeclaredBodySource
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request