pub struct RealtimeHardwareManager { /* private fields */ }Expand description
Real-time hardware integration manager
Implementations§
Source§impl RealtimeHardwareManager
impl RealtimeHardwareManager
Sourcepub fn new(config: RealtimeConfig) -> Self
pub fn new(config: RealtimeConfig) -> Self
Create a new real-time hardware manager
Sourcepub fn connect(
&mut self,
provider: HardwareProvider,
backend: &str,
) -> QuantRS2Result<String>
pub fn connect( &mut self, provider: HardwareProvider, backend: &str, ) -> QuantRS2Result<String>
Connect to hardware backend
Sourcepub fn disconnect(&mut self, connection_id: &str) -> QuantRS2Result<()>
pub fn disconnect(&mut self, connection_id: &str) -> QuantRS2Result<()>
Disconnect from hardware backend
Sourcepub fn submit_job(
&mut self,
job_id: &str,
connection_id: &str,
) -> QuantRS2Result<()>
pub fn submit_job( &mut self, job_id: &str, connection_id: &str, ) -> QuantRS2Result<()>
Submit job for real-time monitoring
Sourcepub fn get_job_status(&self, job_id: &str) -> QuantRS2Result<JobStatus>
pub fn get_job_status(&self, job_id: &str) -> QuantRS2Result<JobStatus>
Get job status
Sourcepub fn get_job_progress(&self, job_id: &str) -> QuantRS2Result<f64>
pub fn get_job_progress(&self, job_id: &str) -> QuantRS2Result<f64>
Get job progress
Sourcepub fn update_job_status(
&mut self,
job_id: &str,
status: JobStatus,
progress: f64,
) -> QuantRS2Result<()>
pub fn update_job_status( &mut self, job_id: &str, status: JobStatus, progress: f64, ) -> QuantRS2Result<()>
Update job status (simulates receiving update from hardware)
Sourcepub fn add_partial_result(
&mut self,
job_id: &str,
counts: HashMap<String, usize>,
) -> QuantRS2Result<()>
pub fn add_partial_result( &mut self, job_id: &str, counts: HashMap<String, usize>, ) -> QuantRS2Result<()>
Add partial result for streaming
Sourcepub fn get_partial_results(
&self,
job_id: &str,
) -> QuantRS2Result<Vec<PartialResult>>
pub fn get_partial_results( &self, job_id: &str, ) -> QuantRS2Result<Vec<PartialResult>>
Get partial results for job
Sourcepub fn update_calibration(
&mut self,
backend: &str,
calibration: CalibrationData,
) -> QuantRS2Result<()>
pub fn update_calibration( &mut self, backend: &str, calibration: CalibrationData, ) -> QuantRS2Result<()>
Update calibration data for backend
Sourcepub fn get_calibration(
&self,
backend: &str,
) -> QuantRS2Result<Option<CalibrationData>>
pub fn get_calibration( &self, backend: &str, ) -> QuantRS2Result<Option<CalibrationData>>
Get current calibration for backend
Sourcepub fn get_optimal_qubits(
&self,
backend: &str,
num_qubits: usize,
) -> QuantRS2Result<Vec<usize>>
pub fn get_optimal_qubits( &self, backend: &str, num_qubits: usize, ) -> QuantRS2Result<Vec<usize>>
Get optimal qubits based on current calibration
Sourcepub fn get_stats(&self) -> QuantRS2Result<RealtimeStats>
pub fn get_stats(&self) -> QuantRS2Result<RealtimeStats>
Get statistics
Sourcepub fn get_connections(&self) -> QuantRS2Result<Vec<HardwareConnection>>
pub fn get_connections(&self) -> QuantRS2Result<Vec<HardwareConnection>>
Get active connections
Sourcepub fn register_job_callback<F>(
&mut self,
job_id: &str,
callback: F,
) -> QuantRS2Result<()>
pub fn register_job_callback<F>( &mut self, job_id: &str, callback: F, ) -> QuantRS2Result<()>
Register job event callback
Sourcepub fn is_backend_available(&self, connection_id: &str) -> QuantRS2Result<bool>
pub fn is_backend_available(&self, connection_id: &str) -> QuantRS2Result<bool>
Check if backend is available
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RealtimeHardwareManager
impl RefUnwindSafe for RealtimeHardwareManager
impl Send for RealtimeHardwareManager
impl Sync for RealtimeHardwareManager
impl Unpin for RealtimeHardwareManager
impl UnwindSafe for RealtimeHardwareManager
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> 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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.