pub struct QuantumCloudManager { /* private fields */ }Expand description
Main cloud resource manager.
Provides a provider-agnostic entry point for submitting quantum jobs, querying their status, listing available providers, and estimating costs.
§Thread safety
Internally uses std::sync::RwLock so the manager can be shared across
threads without async overhead at the call site.
Implementations§
Source§impl QuantumCloudManager
impl QuantumCloudManager
Sourcepub fn new(config: QuantumCloudConfig) -> DeviceResult<Self>
pub fn new(config: QuantumCloudConfig) -> DeviceResult<Self>
Create a new cloud manager with the given configuration.
Sourcepub fn submit_job(&self, job: CloudJob) -> DeviceResult<CloudJobId>
pub fn submit_job(&self, job: CloudJob) -> DeviceResult<CloudJobId>
Submit a quantum job and return its assigned identifier.
The manager validates the job, selects the best provider according to the configured selection strategy, and records the submission.
Sourcepub fn get_job_status(&self, id: &CloudJobId) -> DeviceResult<CloudJobStatus>
pub fn get_job_status(&self, id: &CloudJobId) -> DeviceResult<CloudJobStatus>
Query the current status of a previously submitted job.
Sourcepub fn cancel_job(&self, id: &CloudJobId) -> DeviceResult<()>
pub fn cancel_job(&self, id: &CloudJobId) -> DeviceResult<()>
Cancel a queued or submitted job.
Sourcepub fn list_providers(&self) -> Vec<CloudProvider>
pub fn list_providers(&self) -> Vec<CloudProvider>
List all configured and enabled cloud providers.
Sourcepub fn estimate_cost(&self, job: &CloudJob) -> DeviceResult<CloudCostEstimate>
pub fn estimate_cost(&self, job: &CloudJob) -> DeviceResult<CloudCostEstimate>
Estimate the cost of executing job across all enabled providers.
The estimate is based on shot count and a simple per-shot pricing model. Real providers typically expose more nuanced pricing APIs; this implementation serves as a deterministic baseline.
Auto Trait Implementations§
impl !Freeze for QuantumCloudManager
impl RefUnwindSafe for QuantumCloudManager
impl Send for QuantumCloudManager
impl Sync for QuantumCloudManager
impl Unpin for QuantumCloudManager
impl UnsafeUnpin for QuantumCloudManager
impl UnwindSafe for QuantumCloudManager
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
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> 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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.