Struct ServerManager

Source
pub struct ServerManager { /* private fields */ }
Expand description

Main structure for managing server processes.

Encapsulates all server management operations and holds necessary configuration.

Implementations§

Source§

impl ServerManager

Implementation of server management operations.

Provides methods for starting, stopping and managing server processes.

Source

pub fn new() -> Self

Source

pub fn set_pid_file<P: ToString>(&mut self, pid_file: P) -> &mut Self

Source

pub fn set_start_hook<F, Fut>(&mut self, f: F) -> &mut Self
where F: Fn() -> Fut + Send + Sync + 'static, Fut: Future<Output = ()> + Send + 'static,

Source

pub fn set_server_hook<F, Fut>(&mut self, f: F) -> &mut Self
where F: Fn() -> Fut + Send + Sync + 'static, Fut: Future<Output = ()> + Send + 'static,

Source

pub fn set_stop_hook<F, Fut>(&mut self, f: F) -> &mut Self
where F: Fn() -> Fut + Send + Sync + 'static, Fut: Future<Output = ()> + Send + 'static,

Source

pub fn get_pid_file(&self) -> &str

Source

pub fn get_start_hook(&self) -> &Hook

Source

pub fn get_server_hook(&self) -> &Hook

Source

pub fn get_stop_hook(&self) -> &Hook

Source

pub async fn start(&self)

Starts the server in foreground mode.

Writes the current process ID to the PID file and executes the server function.

Source

pub async fn stop(&self) -> ServerManagerResult

Stops the running server process.

Reads PID from file and terminates the process.

§Returns
  • ServerManagerResult - Operation result.
Source

pub async fn start_daemon(&self) -> ServerManagerResult

Starts the server in daemon (background) mode on Unix platforms.

Source

pub async fn hot_restart(&self, run_args: &[&str]) -> ServerManagerResult

Starts the server with hot-reloading using cargo-watch.

§Arguments
  • &[&str] - Arguments for cargo-watch.
§Returns
  • ServerManagerResult - Operation result.
Source

pub async fn hot_restart_wait(&self, run_args: &[&str]) -> ServerManagerResult

Starts the server with hot-reloading and waits for completion.

§Arguments
  • &[&str] - Arguments for cargo-watch.
§Returns
  • ServerManagerResult - Operation result.

Trait Implementations§

Source§

impl Clone for ServerManager

Source§

fn clone(&self) -> ServerManager

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for ServerManager

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.