pub struct Watchexec { /* private fields */ }
Expand description
The main watchexec runtime.
All this really does is tie the pieces together in one convenient interface.
It creates the correct channels, spawns every available event sources, the action worker, the error hook, and provides an interface to change the runtime configuration during the runtime, inject synthetic events, and wait for graceful shutdown.
Implementations
sourceimpl Watchexec
impl Watchexec
sourcepub fn new(
init: InitConfig,
runtime: RuntimeConfig
) -> Result<Arc<Self>, CriticalError>
pub fn new(
init: InitConfig,
runtime: RuntimeConfig
) -> Result<Arc<Self>, CriticalError>
Instantiates a new Watchexec
runtime from configuration.
Returns an Arc
for convenience; use try_unwrap
to get the value
directly if needed.
Note that RuntimeConfig
is not a “live” or “shared” instance: if using reconfiguration,
you’ll usually pass a clone()
of your RuntimeConfig
instance to this function; changes
made to the instance you keep will not automatically be used by Watchexec, you need to
call reconfigure()
with your updated config to apply the changes.
Watchexec will subscribe to most signals sent to the process it runs in and send them, as
Event
s, to the action handler. At minimum, you should check for interrupt/ctrl-c events
and return an Outcome::Exit
, otherwise hitting ctrl-c will do nothing.
sourcepub fn reconfigure(&self, config: RuntimeConfig) -> Result<(), ReconfigError>
pub fn reconfigure(&self, config: RuntimeConfig) -> Result<(), ReconfigError>
Applies a new RuntimeConfig
to the runtime.
sourcepub async fn send_event(
&self,
event: Event,
priority: Priority
) -> Result<(), CriticalError>
pub async fn send_event(
&self,
event: Event,
priority: Priority
) -> Result<(), CriticalError>
Inputs an Event
directly.
This can be useful for testing, for custom event sources, or for one-off action triggers (for example, on start).
Hint: use Event::default()
to send an empty event (which won’t be filtered).
sourcepub fn main(&self) -> JoinHandle<Result<(), CriticalError>>ⓘNotable traits for JoinHandle<T>impl<T> Future for JoinHandle<T> type Output = Result<T, JoinError>;
pub fn main(&self) -> JoinHandle<Result<(), CriticalError>>ⓘNotable traits for JoinHandle<T>impl<T> Future for JoinHandle<T> type Output = Result<T, JoinError>;
Start watchexec and obtain the handle to its main task.
This must only be called once.
Panics
Panics if called twice.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Watchexec
impl Send for Watchexec
impl Sync for Watchexec
impl Unpin for Watchexec
impl !UnwindSafe for Watchexec
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more