pub struct Session {
pub name: String,
pub wasm: Vec<u8>,
pub assets: Assets,
pub params: HashMap<String, String>,
pub allow_net: bool,
pub allow_hosts: Vec<String>,
pub fetch: FetchMode,
pub storage: Storage,
pub load: LoadOptions,
pub gl_lib: Option<PathBuf>,
pub gl_software: bool,
pub watch_assets: Vec<AssetWatch>,
}Fields§
§name: Stringshown in logs and the window title
wasm: Vec<u8>a .wasm module, or a .cwasm if load.allow_precompiled
assets: Assets§params: HashMap<String, String>§allow_net: bool§allow_hosts: Vec<String>with allow_net: only these hosts (--allow-net=a.org,*.b.org; empty: all)
fetch: FetchModegasm:fetch: live, recording or replaying responses (headless)
storage: Storage§load: LoadOptions§gl_lib: Option<PathBuf>where ANGLE is (gasm:gl games): None searches the usual places (angle::find)
gl_software: boolgasm:gl on SwiftShader (software Vulkan) instead of the GPU
watch_assets: Vec<AssetWatch>--watch-asset name=path: files re-read as assets whenever they change
(create each watch before opening its file, so no change is missed)
Implementations§
Source§impl Session
impl Session
Sourcepub fn open_gl(
&self,
window: Option<NativeWindow>,
size: (u32, u32),
) -> Result<Angle, String>
pub fn open_gl( &self, window: Option<NativeWindow>, size: (u32, u32), ) -> Result<Angle, String>
ANGLE for this session’s gasm:gl game: offscreen at w×h, or in a window.
Sourcepub fn start(
self,
audio: Option<Box<dyn AudioOut>>,
gfx: Gfx,
gl: Option<Angle>,
reproducible: bool,
hashing: bool,
) -> Result<Game, Stop>
pub fn start( self, audio: Option<Box<dyn AudioOut>>, gfx: Gfx, gl: Option<Angle>, reproducible: bool, hashing: bool, ) -> Result<Game, Stop>
Instantiate the guest and run its init. reproducible: headless rules
(virtual time, fixed random sequence, hashing). gl: the GL that executes a
gasm:gl guest’s calls (None: the null GL).
Auto Trait Implementations§
impl !Freeze for Session
impl !RefUnwindSafe for Session
impl !Sync for Session
impl Send for Session
impl Unpin for Session
impl UnsafeUnpin for Session
impl UnwindSafe for Session
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
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> 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