[][src]Enum dqcsim::common::protocol::SimulatorToPlugin

pub enum SimulatorToPlugin {
    Initialize(Box<PluginInitializeRequest>),
    AcceptUpstream,
    UserInitialize(PluginUserInitializeRequest),
    Abort,
    RunRequest(FrontendRunRequest),
    ArbRequest(ArbCmd),
}

Simulator/host to plugin requests.

Variants

Initialize(Box<PluginInitializeRequest>)

Request to initialize the plugin.

This is always the first message sent by DQCsim. In response, the plugin must:

The valid responses to this message are:

AcceptUpstream

Request to complete the connection with the upstream plugin.

This is always the second message sent by DQCsim for operators and backends. It is called after the upstream plugin has been successfully initialized. In response, the plugin must wait for the upstream plugin to connect and finish setting up the connection.

The valid responses to this message are:

UserInitialize(PluginUserInitializeRequest)

Request to run user initialization code.

This is always the second (frontend) or third (operator, backend) message sent by DQCsim.

The valid responses to this message are:

Abort

Request to abort the simulation and stop the plugin.

The valid responses to this message are:

RunRequest(FrontendRunRequest)

Passes control from the host to the frontend plugin.

This is only to be sent to frontends. In response, the frontend must:

The valid responses to this message are:

ArbRequest(ArbCmd)

Requests execution of the given ArbCmd by the plugin.

The valid responses to this message are:

Trait Implementations

impl Debug for SimulatorToPlugin[src]

impl<'de> Deserialize<'de> for SimulatorToPlugin[src]

impl Into<SimulatorToPlugin> for ArbCmd[src]

impl Into<SimulatorToPlugin> for PluginInitializeRequest[src]

impl Into<SimulatorToPlugin> for PluginAcceptUpstreamRequest[src]

impl Into<SimulatorToPlugin> for PluginUserInitializeRequest[src]

impl Into<SimulatorToPlugin> for FrontendRunRequest[src]

impl PartialEq<SimulatorToPlugin> for SimulatorToPlugin[src]

impl Serialize for SimulatorToPlugin[src]

impl StructuralPartialEq for SimulatorToPlugin[src]

Auto Trait Implementations

impl !RefUnwindSafe for SimulatorToPlugin

impl Send for SimulatorToPlugin

impl !Sync for SimulatorToPlugin

impl Unpin for SimulatorToPlugin

impl UnwindSafe for SimulatorToPlugin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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