Struct brane_exe::dummy::DummyVm

source ·
pub struct DummyVm { /* private fields */ }
Expand description

Defines a Dummy VM that may be used to test.

Implementations§

source§

impl DummyVm

source

pub fn new() -> Self

Constructor for the DummyVm that initializes it to an never-used-before-but-ready-for-everything VM.

§Returns

A new instance of a DummyVm.

source

pub async fn exec(self, workflow: Workflow) -> (Self, Result<FullValue, Error>)

Runs the given workflow on this VM.

There is a bit of ownership awkwardness going on, but that’s due to the need for the struct to outlive threads.

§Arguments
  • workflow: The Workflow to execute.
§Returns

The result of the workflow, if any. It also returns self again for subsequent runs.

source

pub fn flush_stdout(&self)

Prints the buffered text, clearing it again.

§Returns

Nothing, but does print to stdout.

Trait Implementations§

source§

impl Default for DummyVm

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Vm for DummyVm

source§

fn store_state( this: &Arc<RwLock<Self>>, state: RunState<Self::GlobalState>, ) -> Result<(), VmError>

A function that stores the given runtime state information in the parent struct.

This is important and will be used later.

§Arguments
  • state: The current state of the workflow we have executed.
§Returns

Nothing, but should change the internals to return this state later upon request.

§Errors

This function may error for its own reasons.

source§

fn load_state( this: &Arc<RwLock<Self>>, ) -> Result<RunState<Self::GlobalState>, VmError>

A function that returns the VM’s runtime state in the parent struct.

This is important and will be used later.

§Returns

The RunState of this application if it exists, or else None.

§Errors

This function may error for its own reasons.

source§

type GlobalState = DummyState

The type of the thread-global extension to the runtime state.
source§

type LocalState = ()

The type of the thread-local extension to the runtime state.
source§

fn new_state(custom: Self::GlobalState) -> RunState<Self::GlobalState>

Initializes a new global state based on the given custom part. Read more
source§

fn run<'life0, 'async_trait, P>( this: Arc<RwLock<Self>>, snippet: Workflow, prof: ProfileScopeHandle<'life0>, ) -> Pin<Box<dyn Future<Output = Result<FullValue, VmError>> + Send + 'async_trait>>
where Self: Sync + Send + 'async_trait, P: 'async_trait + VmPlugin<GlobalState = Self::GlobalState, LocalState = Self::LocalState>, 'life0: 'async_trait,

Runs the given workflow, possibly asynchronously (if a parallel is encountered / there are external functions calls and the given closure runs this asynchronously.) Read more

Auto Trait Implementations§

Blanket Implementations§

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
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
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.
source§

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

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T