pub struct NetPolicy {
pub allowed: bool,
pub hosts: Vec<String>,
pub consent: Option<Consent>,
}Expand description
The hosts guests may reach (gasm:net and gasm:fetch): none, all (--allow-net)
or a list (--allow-net=api.met.no,*.example.org; *. matches subdomains). With
consent (the window runner) any other host is the player’s choice.
Fields§
§allowed: bool§hosts: Vec<String>empty: every host (when allowed)
consent: Option<Consent>Implementations§
Source§impl NetPolicy
impl NetPolicy
pub fn new(allowed: bool, hosts: Vec<String>) -> NetPolicy
pub fn with_consent(self, consent: Option<Consent>) -> NetPolicy
Sourcepub fn verdict(&self, url: &str) -> Result<Option<String>, ()>
pub fn verdict(&self, url: &str) -> Result<Option<String>, ()>
Why a URL is refused, None if it may be reached now, or Err(()) while the player hasn’t answered (the question is queued).
Sourcepub fn wait(
&self,
url: &str,
cancelled: impl Fn() -> bool,
) -> Result<(), String>
pub fn wait( &self, url: &str, cancelled: impl Fn() -> bool, ) -> Result<(), String>
Block (on a connection’s own thread) until the URL may be reached: Err(why) if
refused, or once cancelled says the request is gone.
pub fn permits(&self, host: &str) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NetPolicy
impl RefUnwindSafe for NetPolicy
impl Send for NetPolicy
impl Sync for NetPolicy
impl Unpin for NetPolicy
impl UnsafeUnpin for NetPolicy
impl UnwindSafe for NetPolicy
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
Mutably borrows from an owned value. Read more
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> 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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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> ⓘ
Converts
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> ⓘ
Converts
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