pub struct PlacementRouter { /* private fields */ }Expand description
Single orchestrating entry point for all capability execution in Traverse.
Wires together placement evaluation → executor selection → execution → trace recording → event publishing.
Implementations§
Source§impl PlacementRouter
impl PlacementRouter
Sourcepub fn new(
evaluator: PlacementConstraintEvaluator,
executor_registry: CapabilityExecutorRegistry,
trace_store: Arc<Mutex<TraceStore>>,
event_broker: Arc<dyn EventBroker>,
) -> Self
pub fn new( evaluator: PlacementConstraintEvaluator, executor_registry: CapabilityExecutorRegistry, trace_store: Arc<Mutex<TraceStore>>, event_broker: Arc<dyn EventBroker>, ) -> Self
Construct a new PlacementRouter from injected dependencies.
Sourcepub fn execute(
&self,
request: RouterRequest,
) -> Result<RouterResponse, RouterError>
pub fn execute( &self, request: RouterRequest, ) -> Result<RouterResponse, RouterError>
Execute a capability end-to-end.
Steps:
- Evaluate placement constraints — returns
RouterError::PlacementFailedwith no trace on failure. - Select executor by
artifact_type. - Run the executor.
- Write public + private trace entries to the store.
- If
service_type == Subscribable, publish emitted events.
§Errors
Returns RouterError when any step cannot complete.
Sourcepub fn execute_with_executor(
&self,
request: RouterRequest,
executor: &dyn CapabilityExecutor,
) -> Result<RouterResponse, RouterError>
pub fn execute_with_executor( &self, request: RouterRequest, executor: &dyn CapabilityExecutor, ) -> Result<RouterResponse, RouterError>
Execute a capability with an explicitly provided executor.
Used by the live Runtime::execute path to bridge a host
LocalExecutor without requiring a 'static registry entry.
§Errors
Returns RouterError when any step cannot complete.
Auto Trait Implementations§
impl !RefUnwindSafe for PlacementRouter
impl !UnwindSafe for PlacementRouter
impl Freeze for PlacementRouter
impl Send for PlacementRouter
impl Sync for PlacementRouter
impl Unpin for PlacementRouter
impl UnsafeUnpin for PlacementRouter
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
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more