pub struct WebServerManager(/* private fields */);
Expand description
Resource to track running server tasks with shutdown capabilities
Implementations§
Source§impl WebServerManager
impl WebServerManager
pub fn cleanup_finished_tasks(manager: ResMut<'_, Self>)
pub fn check_retry_servers(manager: ResMut<'_, Self>)
pub fn changed( manager: ResMut<'_, Self>, async_executor: NonSend<'_, AsyncExecutor>, )
pub fn add_server(&mut self, server: WebServer) -> WebServerResult<()>
pub fn remove_server(&mut self, port: &WebPort)
pub fn stop_server(&mut self, port: &WebPort)
Sourcepub fn server_error(&self, port: &WebPort) -> Option<&str>
pub fn server_error(&self, port: &WebPort) -> Option<&str>
Get the last error for a server, if any
Sourcepub fn server_failed(&self, port: &WebPort) -> bool
pub fn server_failed(&self, port: &WebPort) -> bool
Check if a server has failed to start
Sourcepub fn server_status_report(
&self,
) -> Vec<(WebPort, ServerStatus, Option<String>)>
pub fn server_status_report( &self, ) -> Vec<(WebPort, ServerStatus, Option<String>)>
Get all servers with their status and any errors
pub fn stop_all(&mut self)
Sourcepub fn graceful_shutdown(&mut self, port: &WebPort)
pub fn graceful_shutdown(&mut self, port: &WebPort)
Request graceful shutdown for a specific server
Sourcepub fn graceful_shutdown_with_timeout(
&mut self,
port: &WebPort,
timeout: Duration,
commands: &mut Commands<'_, '_>,
)
pub fn graceful_shutdown_with_timeout( &mut self, port: &WebPort, timeout: Duration, commands: &mut Commands<'_, '_>, )
Request graceful shutdown for a specific server with timeout (spawns async task) This method can be called from Bevy systems and will handle the shutdown internally
pub async fn graceful_shutdown_server( &mut self, port: &WebPort, timeout: Duration, ) -> bool
pub async fn graceful_shutdown_all( &mut self, timeout: Duration, ) -> HashMap<WebPort, bool>
pub fn has_server(&self, port: &WebPort) -> bool
pub fn ports(&self) -> Vec<WebPort> ⓘ
pub fn len(&self) -> usize
pub fn shutdown_requested(&self, port: &WebPort) -> bool
pub fn active_connections(&self, port: &WebPort) -> usize
pub fn shutdown_status(&self) -> HashMap<WebPort, (bool, usize)>
pub fn router(&self, port: &WebPort) -> Option<&Router>
pub fn router_mut(&mut self, port: &WebPort) -> Option<&mut Router>
pub fn set_router(&mut self, port: &WebPort, router: Router)
pub fn iter(&self) -> impl Iterator<Item = (&WebPort, &WebServer)>
pub fn iter_mut(&mut self) -> impl Iterator<Item = (&WebPort, &mut WebServer)>
pub fn start_server( &mut self, port: &WebPort, executor: &AsyncExecutor, ) -> WebServerResult<()>
Sourcepub async fn wait_for_server_start(
&self,
port: &WebPort,
timeout: Duration,
) -> WebServerResult<()>
pub async fn wait_for_server_start( &self, port: &WebPort, timeout: Duration, ) -> WebServerResult<()>
Wait for server to start and return result This method will block until the server either starts successfully or fails
Trait Implementations§
Source§impl Default for WebServerManager
impl Default for WebServerManager
Source§fn default() -> WebServerManager
fn default() -> WebServerManager
Returns the “default value” for a type. Read more
Source§impl From<WebServerConfig> for WebServerManager
impl From<WebServerConfig> for WebServerManager
Source§fn from(config: WebServerConfig) -> Self
fn from(config: WebServerConfig) -> Self
Converts to this type from the input type.
impl Resource for WebServerManager
Auto Trait Implementations§
impl Freeze for WebServerManager
impl !RefUnwindSafe for WebServerManager
impl Send for WebServerManager
impl Sync for WebServerManager
impl Unpin for WebServerManager
impl !UnwindSafe for WebServerManager
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
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>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn 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>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which 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)
Converts
&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)
Converts
&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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> FetchWorld<ResourceMarker> for Twhere
T: Resource,
impl<T> FetchWorld<ResourceMarker> for Twhere
T: Resource,
type Out = AsyncResource<T>
fn fetch() -> <T as FetchWorld<ResourceMarker>>::Out
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
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