pub struct RuntimeBroker { /* private fields */ }Implementations§
Source§impl RuntimeBroker
impl RuntimeBroker
pub fn start() -> Result<Self, String>
Sourcepub fn start_core() -> Result<Self, String>
pub fn start_core() -> Result<Self, String>
Starts an isolated broker with the portable core-language runtime.
This is intended for small embedding surfaces and focused tests that do not require the language-level Foundation bundle.
pub fn start_with( root: Option<PathBuf>, native_sockets: bool, allow_process: bool, allow_postgres: bool, ) -> Result<Self, String>
Sourcepub fn start_with_backend(
root: Option<PathBuf>,
native_sockets: bool,
allow_process: bool,
allow_postgres: bool,
execution_backend: &str,
) -> Result<Self, String>
pub fn start_with_backend( root: Option<PathBuf>, native_sockets: bool, allow_process: bool, allow_postgres: bool, execution_backend: &str, ) -> Result<Self, String>
Starts a full broker with the requested ordinary evaluation backend.
Library callers retain the interpreter-default start_with entrypoint;
command-line frontends use this method to make native execution explicit
while preserving an interpreter escape hatch.
Sourcepub fn start_with_backend_and_source_catalog(
root: Option<PathBuf>,
native_sockets: bool,
allow_process: bool,
allow_postgres: bool,
execution_backend: &str,
source_catalog: SourceCatalog,
) -> Result<Self, String>
pub fn start_with_backend_and_source_catalog( root: Option<PathBuf>, native_sockets: bool, allow_process: bool, allow_postgres: bool, execution_backend: &str, source_catalog: SourceCatalog, ) -> Result<Self, String>
Starts a full Foundation-backed broker with project namespaces loaded lazily from a native source catalog.
Sourcepub fn start_with_source_catalog(
root: Option<PathBuf>,
native_sockets: bool,
allow_process: bool,
allow_postgres: bool,
execution_backend: &str,
source_catalog: SourceCatalog,
) -> Result<Self, String>
pub fn start_with_source_catalog( root: Option<PathBuf>, native_sockets: bool, allow_process: bool, allow_postgres: bool, execution_backend: &str, source_catalog: SourceCatalog, ) -> Result<Self, String>
Starts a broker whose language libraries are resolved from a native project source catalog. Foundation is bootstrapped from source before the requested ordinary backend is enabled.
Sourcepub fn start_core_with_backend_and_source_catalog(
root: Option<PathBuf>,
native_sockets: bool,
allow_process: bool,
allow_postgres: bool,
execution_backend: &str,
source_catalog: SourceCatalog,
) -> Result<Self, String>
pub fn start_core_with_backend_and_source_catalog( root: Option<PathBuf>, native_sockets: bool, allow_process: bool, allow_postgres: bool, execution_backend: &str, source_catalog: SourceCatalog, ) -> Result<Self, String>
Starts a source-catalog broker without interpreter Foundation bootstrap. Callers install a verified source Foundation image before evaluating user code, so each session reconstructs its compiler environment from HBC without sharing mutable runtime state.
pub fn eval(&self, session: &str, source: &str) -> Result<String, String>
pub fn namespace(&self, session: &str) -> Result<String, String>
pub fn complete( &self, session: &str, prefix: &str, ) -> Result<Vec<String>, String>
pub fn documentation( &self, session: &str, symbol: &str, ) -> Result<Documentation, String>
pub fn create(&self, session: &str) -> Result<String, String>
pub fn close(&self, session: &str) -> Result<String, String>
pub fn list(&self) -> Result<Vec<String>, String>
pub fn info(&self, session: &str) -> Result<String, String>
pub fn register_resource(&self, name: &str, source: &str) -> Result<(), String>
pub fn remove_resource(&self, name: &str) -> Result<(), String>
pub fn resources(&self) -> Result<Vec<String>, String>
Sourcepub fn configure_native_source_cache(
&self,
root: &Path,
source_index_fingerprint: [u8; 32],
) -> Result<(), String>
pub fn configure_native_source_cache( &self, root: &Path, source_index_fingerprint: [u8; 32], ) -> Result<(), String>
Configures the project-local HBC cache for the root session and every child session subsequently created by this broker. Cache artifacts hold only compiled source programs; every session still constructs its own namespace and runtime state.
pub fn install_source_foundation_image( &self, image: &[u8], ) -> Result<(), String>
pub fn install_source_language_spec_image( &self, image: &[u8], ) -> Result<(), String>
pub fn install_module( &self, session: &str, manifest: &str, module: &CompiledWasmModule, ) -> Result<String, String>
pub fn invoke_hta( &self, session: &str, qualified_var: &str, arguments: &[u8], ) -> Result<Vec<u8>, InvokeHtaError>
pub fn invoke_module( &self, session: &str, namespace: &str, export: &str, arguments: &[u8], ) -> Result<Vec<u8>, String>
Trait Implementations§
Source§impl Clone for RuntimeBroker
impl Clone for RuntimeBroker
Source§fn clone(&self) -> RuntimeBroker
fn clone(&self) -> RuntimeBroker
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for RuntimeBroker
impl RefUnwindSafe for RuntimeBroker
impl Send for RuntimeBroker
impl Sync for RuntimeBroker
impl Unpin for RuntimeBroker
impl UnsafeUnpin for RuntimeBroker
impl UnwindSafe for RuntimeBroker
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more