pub struct InstanceVmState<O, E> {
pub stdout: O,
pub stderr: E,
pub pindex: Arc<Mutex<PackageIndex>>,
pub dindex: Arc<Mutex<DataIndex>>,
pub user: Option<String>,
pub state: CompileState,
pub source: String,
pub options: ParserOptions,
pub session: AppId,
pub client: DriverServiceClient,
}Expand description
A helper struct that contains what we need to know about a compiler + VM state for the instance use-case.
Fields§
§stdout: OA stdout to write incoming stdout messages on.
stderr: EA stderr to write outgoing stdout messages on.
pindex: Arc<Mutex<PackageIndex>>The package index for this session.
dindex: Arc<Mutex<DataIndex>>The data index for this session.
user: Option<String>A username of the person doing everything rn.
state: CompileStateThe state of the compiler.
source: StringThe associated source string, which we use for debugging.
options: ParserOptionsAny compiler options we apply.
session: AppIdThe ID for this session.
client: DriverServiceClientThe client which we use to communicate to the VM.
Auto Trait Implementations§
impl<O, E> !Freeze for InstanceVmState<O, E>
impl<O, E> !RefUnwindSafe for InstanceVmState<O, E>
impl<O, E> Send for InstanceVmState<O, E>
impl<O, E> Sync for InstanceVmState<O, E>
impl<O, E> Unpin for InstanceVmState<O, E>
impl<O, E> !UnwindSafe for InstanceVmState<O, E>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request