pub struct ShellBuilder<X: GXExt> { /* private fields */ }Expand description
Builder for Shell.
Implementations§
Source§impl<X: GXExt> ShellBuilder<X>
 
impl<X: GXExt> ShellBuilder<X>
Sourcepub fn publish_timeout(self, value: Duration) -> Self
 
pub fn publish_timeout(self, value: Duration) -> Self
drop subscribers if they don’t consume updates after this timeout
Sourcepub fn resolve_timeout(self, value: Duration) -> Self
 
pub fn resolve_timeout(self, value: Duration) -> Self
module resolution from netidx will fail if it can’t subscribe before this time elapses
Sourcepub fn module_resolvers(self, value: Vec<ModuleResolver>) -> Self
 
pub fn module_resolvers(self, value: Vec<ModuleResolver>) -> Self
define module resolvers to append to the default list
Sourcepub fn stdlib_modules(self, value: BitFlags<Module>) -> Self
 
pub fn stdlib_modules(self, value: BitFlags<Module>) -> Self
enable or disable features of the standard library
Sourcepub fn publisher(self, value: Publisher) -> Self
 
pub fn publisher(self, value: Publisher) -> Self
The netidx publisher to use. If you do not wish to use netidx you can use netidx::InternalOnly to create an internal netidx environment
Sourcepub fn subscriber(self, value: Subscriber) -> Self
 
pub fn subscriber(self, value: Subscriber) -> Self
The netidx subscriber to use. If you do not wish to use netidx you can use netidx::InternalOnly to create an internal netidx environment
Sourcepub fn register(
    self,
    value: Arc<dyn Fn(&mut ExecCtx<GXRt<X>, X::UserEvent>) -> ArcStr>,
) -> Self
 
pub fn register( self, value: Arc<dyn Fn(&mut ExecCtx<GXRt<X>, X::UserEvent>) -> ArcStr>, ) -> Self
Provide a closure to register any built-ins you wish to use.
Your closure should register the builtins with the context and return a string specifiying any modules you need to load in order to use them. For example if you wish to implement a module called m containing builtins foo and bar, then you would first implement foo and bar in rust and register them with the context. You would add a VFS module resolver to the set of resolvers containing prototypes that reference your rust builtins. e.g.
pub let foo = |x, y| 'foo_builtin;
pub let bar = |x| 'bar_builtinYour VFS resolver would map “/m” -> the above stubs. Your register
function would then return “mod m\n” to force loading the module at
startup. Then your user only needs to use m
Trait Implementations§
Auto Trait Implementations§
impl<X> Freeze for ShellBuilder<X>
impl<X> !RefUnwindSafe for ShellBuilder<X>
impl<X> !Send for ShellBuilder<X>
impl<X> !Sync for ShellBuilder<X>
impl<X> !Unpin for ShellBuilder<X>
impl<X> !UnwindSafe for ShellBuilder<X>
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
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