Skip to main content

AmbientOrchestrationManager

Struct AmbientOrchestrationManager 

Source
pub struct AmbientOrchestrationManager { /* private fields */ }
Expand description

Ambient Orchestration Manager

Implementations§

Source§

impl AmbientOrchestrationManager

Source

pub fn new() -> Self

Create new ambient orchestration manager

Source

pub fn register_device( &mut self, device: AmbientDevice, ) -> Result<(), AmbientError>

Register ambient device

Source

pub fn discover_devices(&mut self) -> Result<Vec<String>, AmbientError>

Discover ambient devices using sysinfo to enumerate real local hardware.

Source

pub fn discover_devices_into( &mut self, out: &mut [AmbientDeviceHandle], ) -> Result<usize, AmbientError>

Zero-heap device discovery snapshots for hot-path schedulers.

Source

pub fn submit_task(&mut self, task: Task) -> Result<String, AmbientError>

Submit task for execution

Source

pub fn execute_neural_inference( &mut self, device_id: &str, model_data: &[u8], input_data: &[u8], ) -> Result<Vec<u8>, AmbientError>

Execute neural inference task

Source

pub fn execute_neural_inference_into( &mut self, device_id: &str, model_data: &[u8], input_data: &[u8], out: &mut [u8], ) -> Result<usize, AmbientError>

Zero-heap neural inference API using caller-owned output storage.

Source

pub fn execute_sub_threshold_computation( &mut self, device_id: &str, computation: SubThresholdComputation, ) -> Result<ComputationResult, AmbientError>

Execute sub-threshold computation

Source

pub fn get_device_status(&self, device_id: &str) -> Option<DeviceStatus>

Get device status

Source

pub fn get_performance_stats(&self) -> AmbientGlobalMetrics

Get performance statistics

Source

pub fn set_orchestration_state(&mut self, state: AmbientOrchestrationState)

Set the ambient orchestration state used for power estimation.

Callers (e.g. the TaskOrchestrator state machine in orchestrator.rs) should push ModelLifecycle transitions here so the power manager can track real power draw.

Source

pub fn set_active_model_count(&mut self, count: usize)

Set the number of models currently active on the managed device.

Source

pub fn get_power_metrics(&self) -> PowerMetrics

Get the aggregated power/thermal/battery snapshot.

Source

pub fn estimate_battery_life_remaining( &self, current_battery_pct: f64, battery_capacity_wh: f64, ) -> f64

Estimate battery life remaining (hours) for the given charge and battery capacity.

Source

pub fn should_throttle_inference(&self) -> bool

Whether inference should be throttled due to thermal or battery pressure.

Source

pub fn list_devices(&self) -> Vec<String>

List all devices

Source

pub fn list_devices_into( &self, out: &mut [AmbientDeviceHandle], ) -> Result<usize, AmbientError>

Source

pub fn get_pending_tasks(&self) -> Vec<Task>

Get pending tasks

Source

pub fn get_pending_tasks_into( &self, out: &mut [TaskHandle], ) -> Result<usize, AmbientError>

Source

pub fn optimize_orchestration(&mut self) -> Result<(), AmbientError>

Optimize orchestration policy

Auto Trait Implementations§

Blanket Implementations§

§

impl<S, A> Aggregate<Result<S, Error>> for A
where A: Aggregate<S>,

§

fn from_shares<T>(iter: T) -> Result<A, Error>
where T: IntoIterator<Item = Result<S, Error>>,

Aggregate shares in an MPC protocol.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

§

impl<T> WasmNotSend for T
where T: Send,

§

impl<T> WasmNotSendSync for T
where T: WasmNotSend + WasmNotSync,

§

impl<T> WasmNotSync for T
where T: Sync,